161.40/121.10 MAYBE 161.40/121.10 proof of /export/starexec/sandbox/benchmark/theBenchmark.hs 161.40/121.10 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 161.40/121.10 161.40/121.10 161.40/121.10 H-Termination with start terms of the given HASKELL could not be shown: 161.40/121.10 161.40/121.10 (0) HASKELL 161.40/121.10 (1) IFR [EQUIVALENT, 0 ms] 161.40/121.10 (2) HASKELL 161.40/121.10 (3) BR [EQUIVALENT, 0 ms] 161.40/121.10 (4) HASKELL 161.40/121.10 (5) COR [EQUIVALENT, 15 ms] 161.40/121.10 (6) HASKELL 161.40/121.10 (7) LetRed [EQUIVALENT, 0 ms] 161.40/121.10 (8) HASKELL 161.40/121.10 (9) NumRed [SOUND, 0 ms] 161.40/121.10 (10) HASKELL 161.40/121.10 (11) Narrow [SOUND, 0 ms] 161.40/121.10 (12) AND 161.40/121.10 (13) QDP 161.40/121.10 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (15) AND 161.40/121.10 (16) QDP 161.40/121.10 (17) QDPOrderProof [EQUIVALENT, 0 ms] 161.40/121.10 (18) QDP 161.40/121.10 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (20) QDP 161.40/121.10 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 161.40/121.10 (22) YES 161.40/121.10 (23) QDP 161.40/121.10 (24) MRRProof [EQUIVALENT, 9 ms] 161.40/121.10 (25) QDP 161.40/121.10 (26) PisEmptyProof [EQUIVALENT, 0 ms] 161.40/121.10 (27) YES 161.40/121.10 (28) QDP 161.40/121.10 (29) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (30) QDP 161.40/121.10 (31) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (32) QDP 161.40/121.10 (33) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (34) QDP 161.40/121.10 (35) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (36) QDP 161.40/121.10 (37) MNOCProof [EQUIVALENT, 0 ms] 161.40/121.10 (38) QDP 161.40/121.10 (39) InductionCalculusProof [EQUIVALENT, 28 ms] 161.40/121.10 (40) QDP 161.40/121.10 (41) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (42) QDP 161.40/121.10 (43) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (44) QDP 161.40/121.10 (45) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (46) QDP 161.40/121.10 (47) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (48) QDP 161.40/121.10 (49) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (50) QDP 161.40/121.10 (51) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (52) QDP 161.40/121.10 (53) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (54) QDP 161.40/121.10 (55) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (56) QDP 161.40/121.10 (57) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (58) QDP 161.40/121.10 (59) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (60) QDP 161.40/121.10 (61) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (62) AND 161.40/121.10 (63) QDP 161.40/121.10 (64) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (65) QDP 161.40/121.10 (66) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (67) QDP 161.40/121.10 (68) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (69) QDP 161.40/121.10 (70) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (71) QDP 161.40/121.10 (72) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (73) QDP 161.40/121.10 (74) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (75) QDP 161.40/121.10 (76) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (77) QDP 161.40/121.10 (78) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (79) QDP 161.40/121.10 (80) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (81) AND 161.40/121.10 (82) QDP 161.40/121.10 (83) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (84) QDP 161.40/121.10 (85) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (86) QDP 161.40/121.10 (87) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (88) QDP 161.40/121.10 (89) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (90) QDP 161.40/121.10 (91) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (92) QDP 161.40/121.10 (93) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (94) QDP 161.40/121.10 (95) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (96) QDP 161.40/121.10 (97) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (98) QDP 161.40/121.10 (99) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (100) QDP 161.40/121.10 (101) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (102) QDP 161.40/121.10 (103) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (104) QDP 161.40/121.10 (105) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (106) QDP 161.40/121.10 (107) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (108) QDP 161.40/121.10 (109) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (110) QDP 161.40/121.10 (111) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (112) QDP 161.40/121.10 (113) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (114) QDP 161.40/121.10 (115) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (116) QDP 161.40/121.10 (117) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (118) QDP 161.40/121.10 (119) QDPSizeChangeProof [EQUIVALENT, 0 ms] 161.40/121.10 (120) YES 161.40/121.10 (121) QDP 161.40/121.10 (122) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (123) QDP 161.40/121.10 (124) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (125) QDP 161.40/121.10 (126) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (127) QDP 161.40/121.10 (128) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (129) QDP 161.40/121.10 (130) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (131) QDP 161.40/121.10 (132) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (133) QDP 161.40/121.10 (134) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (135) QDP 161.40/121.10 (136) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (137) QDP 161.40/121.10 (138) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (139) QDP 161.40/121.10 (140) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (141) QDP 161.40/121.10 (142) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (143) QDP 161.40/121.10 (144) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (145) QDP 161.40/121.10 (146) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (147) QDP 161.40/121.10 (148) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (149) QDP 161.40/121.10 (150) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (151) QDP 161.40/121.10 (152) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (153) QDP 161.40/121.10 (154) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (155) QDP 161.40/121.10 (156) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (157) QDP 161.40/121.10 (158) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (159) QDP 161.40/121.10 (160) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (161) QDP 161.40/121.10 (162) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (163) QDP 161.40/121.10 (164) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (165) QDP 161.40/121.10 (166) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (167) QDP 161.40/121.10 (168) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (169) QDP 161.40/121.10 (170) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (171) QDP 161.40/121.10 (172) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (173) AND 161.40/121.10 (174) QDP 161.40/121.10 (175) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (176) QDP 161.40/121.10 (177) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (178) QDP 161.40/121.10 (179) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (180) QDP 161.40/121.10 (181) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (182) QDP 161.40/121.10 (183) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (184) QDP 161.40/121.10 (185) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (186) QDP 161.40/121.10 (187) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (188) QDP 161.40/121.10 (189) QDPOrderProof [EQUIVALENT, 587 ms] 161.40/121.10 (190) QDP 161.40/121.10 (191) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (192) TRUE 161.40/121.10 (193) QDP 161.40/121.10 (194) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (195) QDP 161.40/121.10 (196) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (197) AND 161.40/121.10 (198) QDP 161.40/121.10 (199) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (200) QDP 161.40/121.10 (201) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (202) QDP 161.40/121.10 (203) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (204) QDP 161.40/121.10 (205) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (206) QDP 161.40/121.10 (207) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (208) QDP 161.40/121.10 (209) InductionCalculusProof [EQUIVALENT, 0 ms] 161.40/121.10 (210) QDP 161.40/121.10 (211) QDP 161.40/121.10 (212) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (213) QDP 161.40/121.10 (214) InductionCalculusProof [EQUIVALENT, 0 ms] 161.40/121.10 (215) QDP 161.40/121.10 (216) QDP 161.40/121.10 (217) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (218) QDP 161.40/121.10 (219) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (220) QDP 161.40/121.10 (221) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (222) QDP 161.40/121.10 (223) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (224) QDP 161.40/121.10 (225) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (226) QDP 161.40/121.10 (227) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (228) QDP 161.40/121.10 (229) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (230) QDP 161.40/121.10 (231) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (232) QDP 161.40/121.10 (233) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (234) AND 161.40/121.10 (235) QDP 161.40/121.10 (236) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (237) QDP 161.40/121.10 (238) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (239) QDP 161.40/121.10 (240) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (241) QDP 161.40/121.10 (242) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (243) QDP 161.40/121.10 (244) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (245) QDP 161.40/121.10 (246) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (247) QDP 161.40/121.10 (248) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (249) QDP 161.40/121.10 (250) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (251) QDP 161.40/121.10 (252) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (253) QDP 161.40/121.10 (254) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (255) QDP 161.40/121.10 (256) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (257) QDP 161.40/121.10 (258) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (259) QDP 161.40/121.10 (260) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (261) QDP 161.40/121.10 (262) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (263) QDP 161.40/121.10 (264) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (265) QDP 161.40/121.10 (266) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (267) QDP 161.40/121.10 (268) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (269) QDP 161.40/121.10 (270) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (271) QDP 161.40/121.10 (272) QDPSizeChangeProof [EQUIVALENT, 0 ms] 161.40/121.10 (273) YES 161.40/121.10 (274) QDP 161.40/121.10 (275) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (276) QDP 161.40/121.10 (277) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (278) QDP 161.40/121.10 (279) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (280) QDP 161.40/121.10 (281) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (282) QDP 161.40/121.10 (283) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (284) QDP 161.40/121.10 (285) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (286) QDP 161.40/121.10 (287) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (288) QDP 161.40/121.10 (289) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (290) QDP 161.40/121.10 (291) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (292) QDP 161.40/121.10 (293) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (294) QDP 161.40/121.10 (295) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (296) QDP 161.40/121.10 (297) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (298) QDP 161.40/121.10 (299) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (300) QDP 161.40/121.10 (301) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (302) QDP 161.40/121.10 (303) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (304) QDP 161.40/121.10 (305) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (306) QDP 161.40/121.10 (307) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (308) QDP 161.40/121.10 (309) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (310) QDP 161.40/121.10 (311) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (312) QDP 161.40/121.10 (313) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (314) QDP 161.40/121.10 (315) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (316) QDP 161.40/121.10 (317) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (318) QDP 161.40/121.10 (319) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (320) QDP 161.40/121.10 (321) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (322) QDP 161.40/121.10 (323) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (324) QDP 161.40/121.10 (325) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (326) AND 161.40/121.10 (327) QDP 161.40/121.10 (328) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (329) QDP 161.40/121.10 (330) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (331) QDP 161.40/121.10 (332) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (333) QDP 161.40/121.10 (334) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (335) QDP 161.40/121.10 (336) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (337) QDP 161.40/121.10 (338) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (339) QDP 161.40/121.10 (340) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (341) QDP 161.40/121.10 (342) QDPOrderProof [EQUIVALENT, 592 ms] 161.40/121.10 (343) QDP 161.40/121.10 (344) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (345) TRUE 161.40/121.10 (346) QDP 161.40/121.10 (347) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (348) QDP 161.40/121.10 (349) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (350) AND 161.40/121.10 (351) QDP 161.40/121.10 (352) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (353) QDP 161.40/121.10 (354) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (355) QDP 161.40/121.10 (356) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (357) QDP 161.40/121.10 (358) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (359) QDP 161.40/121.10 (360) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (361) QDP 161.40/121.10 (362) InductionCalculusProof [EQUIVALENT, 0 ms] 161.40/121.10 (363) QDP 161.40/121.10 (364) QDP 161.40/121.10 (365) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (366) QDP 161.40/121.10 (367) InductionCalculusProof [EQUIVALENT, 0 ms] 161.40/121.10 (368) QDP 161.40/121.10 (369) QDP 161.40/121.10 (370) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (371) QDP 161.40/121.10 (372) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (373) QDP 161.40/121.10 (374) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (375) QDP 161.40/121.10 (376) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (377) QDP 161.40/121.10 (378) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (379) QDP 161.40/121.10 (380) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (381) QDP 161.40/121.10 (382) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (383) QDP 161.40/121.10 (384) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (385) QDP 161.40/121.10 (386) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (387) QDP 161.40/121.10 (388) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (389) QDP 161.40/121.10 (390) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (391) QDP 161.40/121.10 (392) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (393) QDP 161.40/121.10 (394) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (395) QDP 161.40/121.10 (396) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (397) QDP 161.40/121.10 (398) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (399) QDP 161.40/121.10 (400) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (401) QDP 161.40/121.10 (402) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (403) QDP 161.40/121.10 (404) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (405) QDP 161.40/121.10 (406) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (407) QDP 161.40/121.10 (408) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (409) QDP 161.40/121.10 (410) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (411) QDP 161.40/121.10 (412) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (413) QDP 161.40/121.10 (414) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (415) QDP 161.40/121.10 (416) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (417) QDP 161.40/121.10 (418) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (419) QDP 161.40/121.10 (420) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (421) QDP 161.40/121.10 (422) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (423) QDP 161.40/121.10 (424) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (425) AND 161.40/121.10 (426) QDP 161.40/121.10 (427) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (428) QDP 161.40/121.10 (429) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (430) QDP 161.40/121.10 (431) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (432) QDP 161.40/121.10 (433) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (434) QDP 161.40/121.10 (435) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (436) QDP 161.40/121.10 (437) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (438) QDP 161.40/121.10 (439) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (440) QDP 161.40/121.10 (441) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (442) QDP 161.40/121.10 (443) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (444) QDP 161.40/121.10 (445) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (446) QDP 161.40/121.10 (447) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (448) QDP 161.40/121.10 (449) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (450) QDP 161.40/121.10 (451) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (452) QDP 161.40/121.10 (453) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (454) QDP 161.40/121.10 (455) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (456) QDP 161.40/121.10 (457) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (458) QDP 161.40/121.10 (459) QDPSizeChangeProof [EQUIVALENT, 0 ms] 161.40/121.10 (460) YES 161.40/121.10 (461) QDP 161.40/121.10 (462) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (463) QDP 161.40/121.10 (464) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (465) QDP 161.40/121.10 (466) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (467) QDP 161.40/121.10 (468) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (469) QDP 161.40/121.10 (470) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (471) QDP 161.40/121.10 (472) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (473) QDP 161.40/121.10 (474) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (475) QDP 161.40/121.10 (476) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (477) QDP 161.40/121.10 (478) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (479) QDP 161.40/121.10 (480) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (481) QDP 161.40/121.10 (482) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (483) QDP 161.40/121.10 (484) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (485) QDP 161.40/121.10 (486) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (487) QDP 161.40/121.10 (488) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (489) QDP 161.40/121.10 (490) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (491) QDP 161.40/121.10 (492) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (493) QDP 161.40/121.10 (494) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (495) QDP 161.40/121.10 (496) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (497) QDP 161.40/121.10 (498) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (499) QDP 161.40/121.10 (500) QDPSizeChangeProof [EQUIVALENT, 0 ms] 161.40/121.10 (501) YES 161.40/121.10 (502) QDP 161.40/121.10 (503) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (504) QDP 161.40/121.10 (505) QReductionProof [EQUIVALENT, 0 ms] 161.40/121.10 (506) QDP 161.40/121.10 (507) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (508) QDP 161.40/121.10 (509) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (510) QDP 161.40/121.10 (511) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (512) QDP 161.40/121.10 (513) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (514) QDP 161.40/121.10 (515) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (516) QDP 161.40/121.10 (517) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (518) QDP 161.40/121.10 (519) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (520) QDP 161.40/121.10 (521) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (522) QDP 161.40/121.10 (523) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (524) QDP 161.40/121.10 (525) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (526) QDP 161.40/121.10 (527) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (528) QDP 161.40/121.10 (529) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (530) QDP 161.40/121.10 (531) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (532) QDP 161.40/121.10 (533) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (534) QDP 161.40/121.10 (535) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (536) QDP 161.40/121.10 (537) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (538) QDP 161.40/121.10 (539) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (540) QDP 161.40/121.10 (541) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (542) QDP 161.40/121.10 (543) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (544) QDP 161.40/121.10 (545) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (546) QDP 161.40/121.10 (547) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (548) QDP 161.40/121.10 (549) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (550) QDP 161.40/121.10 (551) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (552) QDP 161.40/121.10 (553) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (554) QDP 161.40/121.10 (555) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (556) QDP 161.40/121.10 (557) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (558) QDP 161.40/121.10 (559) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (560) QDP 161.40/121.10 (561) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (562) QDP 161.40/121.10 (563) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (564) QDP 161.40/121.10 (565) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (566) AND 161.40/121.10 (567) QDP 161.40/121.10 (568) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (569) QDP 161.40/121.10 (570) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (571) QDP 161.40/121.10 (572) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (573) QDP 161.40/121.10 (574) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (575) QDP 161.40/121.10 (576) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (577) QDP 161.40/121.10 (578) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (579) QDP 161.40/121.10 (580) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (581) QDP 161.40/121.10 (582) DependencyGraphProof [EQUIVALENT, 0 ms] 161.40/121.10 (583) QDP 161.40/121.10 (584) InductionCalculusProof [EQUIVALENT, 0 ms] 161.40/121.10 (585) QDP 161.40/121.10 (586) QDP 161.40/121.10 (587) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (588) QDP 161.40/121.10 (589) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (590) QDP 161.40/121.10 (591) UsableRulesProof [EQUIVALENT, 0 ms] 161.40/121.10 (592) QDP 161.40/121.10 (593) InductionCalculusProof [EQUIVALENT, 0 ms] 161.40/121.10 (594) QDP 161.40/121.10 (595) QDP 161.40/121.10 (596) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (597) QDP 161.40/121.10 (598) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (599) QDP 161.40/121.10 (600) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (601) QDP 161.40/121.10 (602) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (603) QDP 161.40/121.10 (604) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (605) QDP 161.40/121.10 (606) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (607) QDP 161.40/121.10 (608) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (609) QDP 161.40/121.10 (610) TransformationProof [EQUIVALENT, 0 ms] 161.40/121.10 (611) QDP 161.40/121.10 (612) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (613) QDP 163.99/121.79 (614) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (615) QDP 163.99/121.79 (616) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (617) QDP 163.99/121.79 (618) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (619) QDP 163.99/121.79 (620) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (621) QDP 163.99/121.79 (622) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (623) QDP 163.99/121.79 (624) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (625) QDP 163.99/121.79 (626) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (627) QDP 163.99/121.79 (628) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (629) QDP 163.99/121.79 (630) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (631) QDP 163.99/121.79 (632) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (633) QDP 163.99/121.79 (634) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (635) QDP 163.99/121.79 (636) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (637) AND 163.99/121.79 (638) QDP 163.99/121.79 (639) UsableRulesProof [EQUIVALENT, 0 ms] 163.99/121.79 (640) QDP 163.99/121.79 (641) InductionCalculusProof [EQUIVALENT, 0 ms] 163.99/121.79 (642) QDP 163.99/121.79 (643) QDP 163.99/121.79 (644) UsableRulesProof [EQUIVALENT, 0 ms] 163.99/121.79 (645) QDP 163.99/121.79 (646) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (647) QDP 163.99/121.79 (648) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (649) QDP 163.99/121.79 (650) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (651) QDP 163.99/121.79 (652) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (653) QDP 163.99/121.79 (654) InductionCalculusProof [EQUIVALENT, 0 ms] 163.99/121.79 (655) QDP 163.99/121.79 (656) QDP 163.99/121.79 (657) InductionCalculusProof [EQUIVALENT, 0 ms] 163.99/121.79 (658) QDP 163.99/121.79 (659) QDP 163.99/121.79 (660) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (661) AND 163.99/121.79 (662) QDP 163.99/121.79 (663) MRRProof [EQUIVALENT, 0 ms] 163.99/121.79 (664) QDP 163.99/121.79 (665) PisEmptyProof [EQUIVALENT, 0 ms] 163.99/121.79 (666) YES 163.99/121.79 (667) QDP 163.99/121.79 (668) QDPSizeChangeProof [EQUIVALENT, 0 ms] 163.99/121.79 (669) YES 163.99/121.79 (670) QDP 163.99/121.79 (671) MNOCProof [EQUIVALENT, 0 ms] 163.99/121.79 (672) QDP 163.99/121.79 (673) InductionCalculusProof [EQUIVALENT, 0 ms] 163.99/121.79 (674) QDP 163.99/121.79 (675) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (676) QDP 163.99/121.79 (677) TransformationProof [EQUIVALENT, 2 ms] 163.99/121.79 (678) QDP 163.99/121.79 (679) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (680) QDP 163.99/121.79 (681) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (682) QDP 163.99/121.79 (683) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (684) QDP 163.99/121.79 (685) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (686) QDP 163.99/121.79 (687) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (688) QDP 163.99/121.79 (689) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (690) QDP 163.99/121.79 (691) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (692) QDP 163.99/121.79 (693) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (694) QDP 163.99/121.79 (695) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (696) QDP 163.99/121.79 (697) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (698) QDP 163.99/121.79 (699) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (700) QDP 163.99/121.79 (701) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (702) QDP 163.99/121.79 (703) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (704) QDP 163.99/121.79 (705) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (706) QDP 163.99/121.79 (707) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (708) QDP 163.99/121.79 (709) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (710) QDP 163.99/121.79 (711) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (712) QDP 163.99/121.79 (713) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (714) QDP 163.99/121.79 (715) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (716) QDP 163.99/121.79 (717) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (718) QDP 163.99/121.79 (719) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (720) QDP 163.99/121.79 (721) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (722) QDP 163.99/121.79 (723) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (724) QDP 163.99/121.79 (725) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (726) QDP 163.99/121.79 (727) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (728) QDP 163.99/121.79 (729) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (730) QDP 163.99/121.79 (731) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (732) QDP 163.99/121.79 (733) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (734) QDP 163.99/121.79 (735) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (736) QDP 163.99/121.79 (737) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (738) QDP 163.99/121.79 (739) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (740) QDP 163.99/121.79 (741) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (742) QDP 163.99/121.79 (743) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (744) QDP 163.99/121.79 (745) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (746) QDP 163.99/121.79 (747) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (748) QDP 163.99/121.79 (749) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (750) QDP 163.99/121.79 (751) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (752) QDP 163.99/121.79 (753) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (754) QDP 163.99/121.79 (755) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (756) QDP 163.99/121.79 (757) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (758) QDP 163.99/121.79 (759) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (760) QDP 163.99/121.79 (761) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (762) QDP 163.99/121.79 (763) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (764) QDP 163.99/121.79 (765) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (766) QDP 163.99/121.79 (767) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (768) QDP 163.99/121.79 (769) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (770) QDP 163.99/121.79 (771) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (772) QDP 163.99/121.79 (773) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (774) QDP 163.99/121.79 (775) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (776) QDP 163.99/121.79 (777) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (778) QDP 163.99/121.79 (779) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.79 (780) QDP 163.99/121.79 (781) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (782) QDP 163.99/121.79 (783) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (784) QDP 163.99/121.79 (785) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (786) QDP 163.99/121.79 (787) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (788) QDP 163.99/121.79 (789) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.79 (790) QDP 163.99/121.80 (791) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (792) QDP 163.99/121.80 (793) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (794) QDP 163.99/121.80 (795) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (796) QDP 163.99/121.80 (797) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (798) QDP 163.99/121.80 (799) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.80 (800) QDP 163.99/121.80 (801) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (802) QDP 163.99/121.80 (803) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (804) QDP 163.99/121.80 (805) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (806) QDP 163.99/121.80 (807) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (808) QDP 163.99/121.80 (809) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.80 (810) QDP 163.99/121.80 (811) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (812) QDP 163.99/121.80 (813) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (814) QDP 163.99/121.80 (815) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (816) QDP 163.99/121.80 (817) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (818) QDP 163.99/121.80 (819) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (820) QDP 163.99/121.80 (821) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (822) QDP 163.99/121.80 (823) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (824) QDP 163.99/121.80 (825) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (826) QDP 163.99/121.80 (827) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (828) QDP 163.99/121.80 (829) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.80 (830) QDP 163.99/121.80 (831) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (832) QDP 163.99/121.80 (833) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (834) QDP 163.99/121.80 (835) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (836) QDP 163.99/121.80 (837) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (838) QDP 163.99/121.80 (839) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.80 (840) QDP 163.99/121.80 (841) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (842) QDP 163.99/121.80 (843) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (844) QDP 163.99/121.80 (845) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (846) QDP 163.99/121.80 (847) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (848) QDP 163.99/121.80 (849) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (850) QDP 163.99/121.80 (851) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (852) QDP 163.99/121.80 (853) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (854) QDP 163.99/121.80 (855) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (856) QDP 163.99/121.80 (857) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (858) QDP 163.99/121.80 (859) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.80 (860) QDP 163.99/121.80 (861) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (862) QDP 163.99/121.80 (863) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (864) QDP 163.99/121.80 (865) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (866) QDP 163.99/121.80 (867) TransformationProof [EQUIVALENT, 0 ms] 163.99/121.80 (868) QDP 163.99/121.80 (869) DependencyGraphProof [EQUIVALENT, 0 ms] 163.99/121.80 (870) QDP 163.99/121.80 (871) QDPOrderProof [EQUIVALENT, 96 ms] 163.99/121.80 (872) QDP 163.99/121.80 (873) QDPOrderProof [EQUIVALENT, 85 ms] 163.99/121.80 (874) QDP 163.99/121.80 (875) MNOCProof [EQUIVALENT, 0 ms] 163.99/121.80 (876) QDP 163.99/121.80 (877) InductionCalculusProof [EQUIVALENT, 0 ms] 163.99/121.80 (878) QDP 163.99/121.80 (879) QDP 163.99/121.80 (880) QDPSizeChangeProof [EQUIVALENT, 0 ms] 163.99/121.80 (881) YES 163.99/121.80 (882) QDP 163.99/121.80 (883) QDPSizeChangeProof [EQUIVALENT, 0 ms] 163.99/121.80 (884) YES 163.99/121.80 (885) QDP 163.99/121.80 (886) QDPSizeChangeProof [EQUIVALENT, 0 ms] 163.99/121.80 (887) YES 163.99/121.80 (888) QDP 163.99/121.80 (889) QDPSizeChangeProof [EQUIVALENT, 0 ms] 163.99/121.80 (890) YES 163.99/121.80 (891) Narrow [COMPLETE, 0 ms] 163.99/121.80 (892) AND 163.99/121.80 (893) QDP 163.99/121.80 (894) QDPSizeChangeProof [EQUIVALENT, 0 ms] 163.99/121.80 (895) YES 163.99/121.80 (896) QDP 163.99/121.80 (897) PisEmptyProof [EQUIVALENT, 0 ms] 163.99/121.80 (898) YES 163.99/121.80 (899) QDP 163.99/121.80 (900) QDPSizeChangeProof [EQUIVALENT, 0 ms] 163.99/121.80 (901) YES 163.99/121.80 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (0) 163.99/121.80 Obligation: 163.99/121.80 mainModule Main 163.99/121.80 module Main where { 163.99/121.80 import qualified Prelude; 163.99/121.80 } 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (1) IFR (EQUIVALENT) 163.99/121.80 If Reductions: 163.99/121.80 The following If expression 163.99/121.80 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 163.99/121.80 is transformed to 163.99/121.80 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 163.99/121.80 primDivNatS0 x y False = Zero; 163.99/121.80 " 163.99/121.80 The following If expression 163.99/121.80 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 163.99/121.80 is transformed to 163.99/121.80 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 163.99/121.80 primModNatS0 x y False = Succ x; 163.99/121.80 " 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (2) 163.99/121.80 Obligation: 163.99/121.80 mainModule Main 163.99/121.80 module Main where { 163.99/121.80 import qualified Prelude; 163.99/121.80 } 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (3) BR (EQUIVALENT) 163.99/121.80 Replaced joker patterns by fresh variables and removed binding patterns. 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (4) 163.99/121.80 Obligation: 163.99/121.80 mainModule Main 163.99/121.80 module Main where { 163.99/121.80 import qualified Prelude; 163.99/121.80 } 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (5) COR (EQUIVALENT) 163.99/121.80 Cond Reductions: 163.99/121.80 The following Function with conditions 163.99/121.80 "absReal x|x >= 0x|otherwise`negate` x; 163.99/121.80 " 163.99/121.80 is transformed to 163.99/121.80 "absReal x = absReal2 x; 163.99/121.80 " 163.99/121.80 "absReal0 x True = `negate` x; 163.99/121.80 " 163.99/121.80 "absReal1 x True = x; 163.99/121.80 absReal1 x False = absReal0 x otherwise; 163.99/121.80 " 163.99/121.80 "absReal2 x = absReal1 x (x >= 0); 163.99/121.80 " 163.99/121.80 The following Function with conditions 163.99/121.80 "gcd' x 0 = x; 163.99/121.80 gcd' x y = gcd' y (x `rem` y); 163.99/121.80 " 163.99/121.80 is transformed to 163.99/121.80 "gcd' x xz = gcd'2 x xz; 163.99/121.80 gcd' x y = gcd'0 x y; 163.99/121.80 " 163.99/121.80 "gcd'0 x y = gcd' y (x `rem` y); 163.99/121.80 " 163.99/121.80 "gcd'1 True x xz = x; 163.99/121.80 gcd'1 yu yv yw = gcd'0 yv yw; 163.99/121.80 " 163.99/121.80 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 163.99/121.80 gcd'2 yx yy = gcd'0 yx yy; 163.99/121.80 " 163.99/121.80 The following Function with conditions 163.99/121.80 "gcd 0 0 = error []; 163.99/121.80 gcd x y = gcd' (abs x) (abs y) where { 163.99/121.80 gcd' x 0 = x; 163.99/121.80 gcd' x y = gcd' y (x `rem` y); 163.99/121.80 } 163.99/121.80 ; 163.99/121.80 " 163.99/121.80 is transformed to 163.99/121.80 "gcd yz zu = gcd3 yz zu; 163.99/121.80 gcd x y = gcd0 x y; 163.99/121.80 " 163.99/121.80 "gcd0 x y = gcd' (abs x) (abs y) where { 163.99/121.80 gcd' x xz = gcd'2 x xz; 163.99/121.80 gcd' x y = gcd'0 x y; 163.99/121.80 ; 163.99/121.80 gcd'0 x y = gcd' y (x `rem` y); 163.99/121.80 ; 163.99/121.80 gcd'1 True x xz = x; 163.99/121.80 gcd'1 yu yv yw = gcd'0 yv yw; 163.99/121.80 ; 163.99/121.80 gcd'2 x xz = gcd'1 (xz == 0) x xz; 163.99/121.80 gcd'2 yx yy = gcd'0 yx yy; 163.99/121.80 } 163.99/121.80 ; 163.99/121.80 " 163.99/121.80 "gcd1 True yz zu = error []; 163.99/121.80 gcd1 zv zw zx = gcd0 zw zx; 163.99/121.80 " 163.99/121.80 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 163.99/121.80 gcd2 zy zz vuu = gcd0 zz vuu; 163.99/121.80 " 163.99/121.80 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 163.99/121.80 gcd3 vuv vuw = gcd0 vuv vuw; 163.99/121.80 " 163.99/121.80 The following Function with conditions 163.99/121.80 "undefined |Falseundefined; 163.99/121.80 " 163.99/121.80 is transformed to 163.99/121.80 "undefined = undefined1; 163.99/121.80 " 163.99/121.80 "undefined0 True = undefined; 163.99/121.80 " 163.99/121.80 "undefined1 = undefined0 False; 163.99/121.80 " 163.99/121.80 The following Function with conditions 163.99/121.80 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 163.99/121.80 d = gcd x y; 163.99/121.80 } 163.99/121.80 ; 163.99/121.80 " 163.99/121.80 is transformed to 163.99/121.80 "reduce x y = reduce2 x y; 163.99/121.80 " 163.99/121.80 "reduce2 x y = reduce1 x y (y == 0) where { 163.99/121.80 d = gcd x y; 163.99/121.80 ; 163.99/121.80 reduce0 x y True = x `quot` d :% (y `quot` d); 163.99/121.80 ; 163.99/121.80 reduce1 x y True = error []; 163.99/121.80 reduce1 x y False = reduce0 x y otherwise; 163.99/121.80 } 163.99/121.80 ; 163.99/121.80 " 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (6) 163.99/121.80 Obligation: 163.99/121.80 mainModule Main 163.99/121.80 module Main where { 163.99/121.80 import qualified Prelude; 163.99/121.80 } 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (7) LetRed (EQUIVALENT) 163.99/121.80 Let/Where Reductions: 163.99/121.80 The bindings of the following Let/Where expression 163.99/121.80 "gcd' (abs x) (abs y) where { 163.99/121.80 gcd' x xz = gcd'2 x xz; 163.99/121.80 gcd' x y = gcd'0 x y; 163.99/121.80 ; 163.99/121.80 gcd'0 x y = gcd' y (x `rem` y); 163.99/121.80 ; 163.99/121.80 gcd'1 True x xz = x; 163.99/121.80 gcd'1 yu yv yw = gcd'0 yv yw; 163.99/121.80 ; 163.99/121.80 gcd'2 x xz = gcd'1 (xz == 0) x xz; 163.99/121.80 gcd'2 yx yy = gcd'0 yx yy; 163.99/121.80 } 163.99/121.80 " 163.99/121.80 are unpacked to the following functions on top level 163.99/121.80 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 163.99/121.80 " 163.99/121.80 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 163.99/121.80 gcd0Gcd' x y = gcd0Gcd'0 x y; 163.99/121.80 " 163.99/121.80 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 163.99/121.80 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 163.99/121.80 " 163.99/121.80 "gcd0Gcd'1 True x xz = x; 163.99/121.80 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 163.99/121.80 " 163.99/121.80 The bindings of the following Let/Where expression 163.99/121.80 "reduce1 x y (y == 0) where { 163.99/121.80 d = gcd x y; 163.99/121.80 ; 163.99/121.80 reduce0 x y True = x `quot` d :% (y `quot` d); 163.99/121.80 ; 163.99/121.80 reduce1 x y True = error []; 163.99/121.80 reduce1 x y False = reduce0 x y otherwise; 163.99/121.80 } 163.99/121.80 " 163.99/121.80 are unpacked to the following functions on top level 163.99/121.80 "reduce2Reduce1 vux vuy x y True = error []; 163.99/121.80 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 163.99/121.80 " 163.99/121.80 "reduce2D vux vuy = gcd vux vuy; 163.99/121.80 " 163.99/121.80 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 163.99/121.80 " 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (8) 163.99/121.80 Obligation: 163.99/121.80 mainModule Main 163.99/121.80 module Main where { 163.99/121.80 import qualified Prelude; 163.99/121.80 } 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (9) NumRed (SOUND) 163.99/121.80 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (10) 163.99/121.80 Obligation: 163.99/121.80 mainModule Main 163.99/121.80 module Main where { 163.99/121.80 import qualified Prelude; 163.99/121.80 } 163.99/121.80 163.99/121.80 ---------------------------------------- 163.99/121.80 163.99/121.80 (11) Narrow (SOUND) 163.99/121.80 Haskell To QDPs 163.99/121.80 163.99/121.80 digraph dp_graph { 163.99/121.80 node [outthreshold=100, inthreshold=100];1[label="(-)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 163.99/121.80 3[label="(-) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 163.99/121.80 4[label="(-) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1409[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1409[label="",style="solid", color="blue", weight=9]; 163.99/121.80 1409 -> 5[label="",style="solid", color="blue", weight=3]; 163.99/121.80 1410[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1410[label="",style="solid", color="blue", weight=9]; 163.99/121.80 1410 -> 6[label="",style="solid", color="blue", weight=3]; 163.99/121.80 1411[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1411[label="",style="solid", color="blue", weight=9]; 163.99/121.80 1411 -> 7[label="",style="solid", color="blue", weight=3]; 163.99/121.80 1412[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1412[label="",style="solid", color="blue", weight=9]; 163.99/121.80 1412 -> 8[label="",style="solid", color="blue", weight=3]; 163.99/121.80 1413[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1413[label="",style="solid", color="blue", weight=9]; 163.99/121.80 1413 -> 9[label="",style="solid", color="blue", weight=3]; 163.99/121.80 5[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 10[label="",style="solid", color="black", weight=3]; 163.99/121.80 6[label="(-) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1414[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];6 -> 1414[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1414 -> 11[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 7[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];7 -> 12[label="",style="solid", color="black", weight=3]; 163.99/121.80 8[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];8 -> 13[label="",style="solid", color="black", weight=3]; 163.99/121.80 9[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 163.99/121.80 10[label="primMinusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1415[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];10 -> 1415[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1415 -> 15[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 11[label="(-) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1416[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];11 -> 1416[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1416 -> 16[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 12[label="primMinusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];12 -> 1417[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1417 -> 17[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1418[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];12 -> 1418[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1418 -> 18[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 13[label="primMinusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1419[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];13 -> 1419[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1419 -> 19[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 14[label="vuz3 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1420[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1420[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1420 -> 20[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 15[label="primMinusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1421[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1421[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1421 -> 21[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 16[label="(-) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];16 -> 22[label="",style="solid", color="black", weight=3]; 163.99/121.80 17[label="primMinusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1422[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1422[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1422 -> 23[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1423[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1423[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1423 -> 24[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 18[label="primMinusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1424[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1424[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1424 -> 25[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1425[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1425[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1425 -> 26[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 19[label="primMinusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1426[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];19 -> 1426[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1426 -> 27[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 20[label="vuz30 :% vuz31 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1427[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1427[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1427 -> 28[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 21[label="primMinusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 163.99/121.80 22[label="Integer (primMinusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];22 -> 30[label="",style="dashed", color="green", weight=3]; 163.99/121.80 23[label="primMinusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 163.99/121.80 24[label="primMinusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 163.99/121.80 25[label="primMinusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 163.99/121.80 26[label="primMinusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 163.99/121.80 27[label="primMinusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 163.99/121.80 28[label="vuz30 :% vuz31 + (negate vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 163.99/121.80 29[label="Double (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 163.99/121.80 29 -> 38[label="",style="dashed", color="green", weight=3]; 163.99/121.80 30 -> 12[label="",style="dashed", color="red", weight=0]; 163.99/121.80 30[label="primMinusInt vuz30 vuz40",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 30 -> 40[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 31[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1428[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];31 -> 1428[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1428 -> 41[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1429[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 1429[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1429 -> 42[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 32[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];32 -> 43[label="",style="dashed", color="green", weight=3]; 163.99/121.80 33[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 163.99/121.80 34 -> 31[label="",style="dashed", color="red", weight=0]; 163.99/121.80 34[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];34 -> 45[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 34 -> 46[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 35[label="Float (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];35 -> 47[label="",style="dashed", color="green", weight=3]; 163.99/121.80 35 -> 48[label="",style="dashed", color="green", weight=3]; 163.99/121.80 36 -> 49[label="",style="dashed", color="red", weight=0]; 163.99/121.80 36[label="vuz30 :% vuz31 + (negate vuz40) :% vuz41",fontsize=16,color="magenta"];36 -> 50[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 36 -> 51[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 36 -> 52[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 36 -> 53[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 37 -> 7[label="",style="dashed", color="red", weight=0]; 163.99/121.80 37[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];37 -> 54[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 38[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];38 -> 56[label="",style="solid", color="black", weight=3]; 163.99/121.80 39[label="vuz40",fontsize=16,color="green",shape="box"];40[label="vuz30",fontsize=16,color="green",shape="box"];41[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1430[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];41 -> 1430[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1430 -> 57[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1431[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1431[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1431 -> 58[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 42[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1432[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];42 -> 1432[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1432 -> 59[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1433[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];42 -> 1433[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1433 -> 60[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 43[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1434[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];43 -> 1434[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1434 -> 61[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1435[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];43 -> 1435[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1435 -> 62[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 44 -> 43[label="",style="dashed", color="red", weight=0]; 163.99/121.80 44[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];44 -> 63[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 44 -> 64[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 45[label="vuz40",fontsize=16,color="green",shape="box"];46[label="vuz30",fontsize=16,color="green",shape="box"];47 -> 7[label="",style="dashed", color="red", weight=0]; 163.99/121.80 47[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];47 -> 65[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 47 -> 66[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 48 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.80 48[label="vuz31 * vuz41",fontsize=16,color="magenta"];48 -> 67[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 48 -> 68[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 50[label="vuz41",fontsize=16,color="green",shape="box"];51[label="negate vuz40",fontsize=16,color="blue",shape="box"];1436[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];51 -> 1436[label="",style="solid", color="blue", weight=9]; 163.99/121.80 1436 -> 69[label="",style="solid", color="blue", weight=3]; 163.99/121.80 1437[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];51 -> 1437[label="",style="solid", color="blue", weight=9]; 163.99/121.80 1437 -> 70[label="",style="solid", color="blue", weight=3]; 163.99/121.80 52[label="vuz31",fontsize=16,color="green",shape="box"];53[label="vuz30",fontsize=16,color="green",shape="box"];49[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];49 -> 71[label="",style="solid", color="black", weight=3]; 163.99/121.80 54 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.80 54[label="vuz40 * vuz31",fontsize=16,color="magenta"];54 -> 72[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 54 -> 73[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 55 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.80 55[label="vuz30 * vuz41",fontsize=16,color="magenta"];55 -> 74[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 56[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1438[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1438 -> 75[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1439[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1439[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1439 -> 76[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 57[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];57 -> 77[label="",style="solid", color="black", weight=3]; 163.99/121.80 58[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];58 -> 78[label="",style="solid", color="black", weight=3]; 163.99/121.80 59[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];59 -> 79[label="",style="solid", color="black", weight=3]; 163.99/121.80 60[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];60 -> 80[label="",style="solid", color="black", weight=3]; 163.99/121.80 61[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1440[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];61 -> 1440[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1440 -> 81[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1441[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];61 -> 1441[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1441 -> 82[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 62[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1442[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];62 -> 1442[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1442 -> 83[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1443[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 1443[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1443 -> 84[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 63[label="vuz40",fontsize=16,color="green",shape="box"];64[label="vuz30",fontsize=16,color="green",shape="box"];65 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.80 65[label="vuz40 * vuz31",fontsize=16,color="magenta"];65 -> 85[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 65 -> 86[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 66 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.80 66[label="vuz30 * vuz41",fontsize=16,color="magenta"];66 -> 87[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 66 -> 88[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 67[label="vuz41",fontsize=16,color="green",shape="box"];68[label="vuz31",fontsize=16,color="green",shape="box"];69[label="negate vuz40",fontsize=16,color="burlywood",shape="triangle"];1444[label="vuz40/Integer vuz400",fontsize=10,color="white",style="solid",shape="box"];69 -> 1444[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1444 -> 89[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 70[label="negate vuz40",fontsize=16,color="black",shape="triangle"];70 -> 90[label="",style="solid", color="black", weight=3]; 163.99/121.80 71[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];71 -> 91[label="",style="solid", color="black", weight=3]; 163.99/121.80 72[label="vuz31",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1445[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1445[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1445 -> 92[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1446[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1446[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1446 -> 93[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 76[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1447[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1447[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1447 -> 94[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1448[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1448[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1448 -> 95[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 77 -> 31[label="",style="dashed", color="red", weight=0]; 163.99/121.80 77[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];77 -> 96[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 77 -> 97[label="",style="dashed", color="magenta", weight=3]; 163.99/121.80 78[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];79[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];80[label="Pos Zero",fontsize=16,color="green",shape="box"];81[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];81 -> 98[label="",style="solid", color="black", weight=3]; 163.99/121.80 82[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];82 -> 99[label="",style="solid", color="black", weight=3]; 163.99/121.80 83[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];83 -> 100[label="",style="solid", color="black", weight=3]; 163.99/121.80 84[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 163.99/121.80 85[label="vuz31",fontsize=16,color="green",shape="box"];86[label="vuz40",fontsize=16,color="green",shape="box"];87[label="vuz41",fontsize=16,color="green",shape="box"];88[label="vuz30",fontsize=16,color="green",shape="box"];89[label="negate Integer vuz400",fontsize=16,color="black",shape="box"];89 -> 102[label="",style="solid", color="black", weight=3]; 163.99/121.80 90[label="primNegInt vuz40",fontsize=16,color="burlywood",shape="triangle"];1449[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1449[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1449 -> 103[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 1450[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1450[label="",style="solid", color="burlywood", weight=9]; 163.99/121.80 1450 -> 104[label="",style="solid", color="burlywood", weight=3]; 163.99/121.80 91[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];91 -> 105[label="",style="solid", color="black", weight=3]; 163.99/121.80 92[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 163.99/121.80 93[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 163.99/121.80 94[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 163.99/121.80 95[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 163.99/121.80 96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];98 -> 110[label="",style="dashed", color="green", weight=3]; 163.99/121.80 99[label="Succ vuz300",fontsize=16,color="green",shape="box"];100[label="Succ vuz400",fontsize=16,color="green",shape="box"];101[label="Zero",fontsize=16,color="green",shape="box"];102[label="Integer (primNegInt vuz400)",fontsize=16,color="green",shape="box"];102 -> 111[label="",style="dashed", color="green", weight=3]; 163.99/121.81 103[label="primNegInt (Pos vuz400)",fontsize=16,color="black",shape="box"];103 -> 112[label="",style="solid", color="black", weight=3]; 163.99/121.81 104[label="primNegInt (Neg vuz400)",fontsize=16,color="black",shape="box"];104 -> 113[label="",style="solid", color="black", weight=3]; 163.99/121.81 105 -> 114[label="",style="dashed", color="red", weight=0]; 163.99/121.81 105[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];105 -> 115[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 105 -> 116[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 105 -> 117[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 105 -> 118[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 105 -> 119[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 106[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];106 -> 120[label="",style="dashed", color="green", weight=3]; 163.99/121.81 107[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];107 -> 121[label="",style="dashed", color="green", weight=3]; 163.99/121.81 108[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 163.99/121.81 109[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 163.99/121.81 110 -> 43[label="",style="dashed", color="red", weight=0]; 163.99/121.81 110[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];110 -> 124[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 110 -> 125[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 111 -> 90[label="",style="dashed", color="red", weight=0]; 163.99/121.81 111[label="primNegInt vuz400",fontsize=16,color="magenta"];111 -> 126[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 112[label="Neg vuz400",fontsize=16,color="green",shape="box"];113[label="Pos vuz400",fontsize=16,color="green",shape="box"];115[label="vuz11",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz10",fontsize=16,color="green",shape="box"];118[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1451[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1451[label="",style="solid", color="blue", weight=9]; 163.99/121.81 1451 -> 127[label="",style="solid", color="blue", weight=3]; 163.99/121.81 1452[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1452[label="",style="solid", color="blue", weight=9]; 163.99/121.81 1452 -> 128[label="",style="solid", color="blue", weight=3]; 163.99/121.81 119[label="vuz13",fontsize=16,color="green",shape="box"];114[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];114 -> 1453[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1453 -> 129[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1454[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];114 -> 1454[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1454 -> 130[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1455[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1455 -> 131[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1456[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1456[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1456 -> 132[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 121 -> 120[label="",style="dashed", color="red", weight=0]; 163.99/121.81 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 133[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 122 -> 120[label="",style="dashed", color="red", weight=0]; 163.99/121.81 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 134[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 123 -> 120[label="",style="dashed", color="red", weight=0]; 163.99/121.81 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 123 -> 136[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 124[label="vuz400",fontsize=16,color="green",shape="box"];125[label="vuz300",fontsize=16,color="green",shape="box"];126[label="vuz400",fontsize=16,color="green",shape="box"];127 -> 137[label="",style="dashed", color="red", weight=0]; 163.99/121.81 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 138[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 128 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 1059[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 129[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];129 -> 140[label="",style="solid", color="black", weight=3]; 163.99/121.81 130[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];130 -> 141[label="",style="solid", color="black", weight=3]; 163.99/121.81 131[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1457[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];131 -> 1457[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1457 -> 142[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1458[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 1458[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1458 -> 143[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 132[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1459[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];132 -> 1459[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1459 -> 144[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1460[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 1460[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1460 -> 145[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="vuz310",fontsize=16,color="green",shape="box"];135[label="vuz410",fontsize=16,color="green",shape="box"];136[label="vuz310",fontsize=16,color="green",shape="box"];138 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 138[label="vuz11 * vuz13",fontsize=16,color="magenta"];138 -> 146[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 138 -> 147[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 137[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];137 -> 148[label="",style="solid", color="black", weight=3]; 163.99/121.81 1059[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1461[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1461[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1461 -> 1069[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1058[label="vuz106 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1462[label="vuz106/Integer vuz1060",fontsize=10,color="white",style="solid",shape="box"];1058 -> 1462[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1462 -> 1070[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 140[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 163.99/121.81 141[label="error []",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 163.99/121.81 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 163.99/121.81 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 163.99/121.81 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 163.99/121.81 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 163.99/121.81 146[label="vuz13",fontsize=16,color="green",shape="box"];147[label="vuz11",fontsize=16,color="green",shape="box"];148[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1463[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1463[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1463 -> 156[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1464[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1464[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1464 -> 157[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1069[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1465[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1069 -> 1465[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1465 -> 1077[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1070[label="Integer vuz1060 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1070 -> 1078[label="",style="solid", color="black", weight=3]; 163.99/121.81 150[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];150 -> 159[label="",style="solid", color="black", weight=3]; 163.99/121.81 151[label="error []",fontsize=16,color="red",shape="box"];152 -> 43[label="",style="dashed", color="red", weight=0]; 163.99/121.81 152[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];152 -> 160[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 152 -> 161[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 153[label="Zero",fontsize=16,color="green",shape="box"];154[label="Zero",fontsize=16,color="green",shape="box"];155[label="Zero",fontsize=16,color="green",shape="box"];156[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1466[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];156 -> 1466[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1466 -> 162[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1467[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];156 -> 1467[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1467 -> 163[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 157[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];157 -> 1468[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1468 -> 164[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1469[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];157 -> 1469[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1469 -> 165[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1077[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1077 -> 1100[label="",style="solid", color="black", weight=3]; 163.99/121.81 1078[label="Integer vuz1060 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1078 -> 1101[label="",style="solid", color="black", weight=3]; 163.99/121.81 159[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"];159 -> 168[label="",style="dashed", color="green", weight=3]; 163.99/121.81 159 -> 169[label="",style="dashed", color="green", weight=3]; 163.99/121.81 160[label="Succ vuz4100",fontsize=16,color="green",shape="box"];161 -> 120[label="",style="dashed", color="red", weight=0]; 163.99/121.81 161[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];161 -> 170[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 161 -> 171[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 162[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];162 -> 172[label="",style="solid", color="black", weight=3]; 163.99/121.81 163[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];163 -> 173[label="",style="solid", color="black", weight=3]; 163.99/121.81 164[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 174[label="",style="solid", color="black", weight=3]; 163.99/121.81 165[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 175[label="",style="solid", color="black", weight=3]; 163.99/121.81 1100[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1100 -> 1117[label="",style="dashed", color="green", weight=3]; 163.99/121.81 1101[label="primEqInt vuz1060 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1470[label="vuz1060/Pos vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1470[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1470 -> 1118[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1471[label="vuz1060/Neg vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1471[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1471 -> 1119[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 168[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1472[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];168 -> 1472[label="",style="solid", color="blue", weight=9]; 163.99/121.81 1472 -> 179[label="",style="solid", color="blue", weight=3]; 163.99/121.81 1473[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];168 -> 1473[label="",style="solid", color="blue", weight=9]; 163.99/121.81 1473 -> 180[label="",style="solid", color="blue", weight=3]; 163.99/121.81 169[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1474[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];169 -> 1474[label="",style="solid", color="blue", weight=9]; 163.99/121.81 1474 -> 181[label="",style="solid", color="blue", weight=3]; 163.99/121.81 1475[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];169 -> 1475[label="",style="solid", color="blue", weight=9]; 163.99/121.81 1475 -> 182[label="",style="solid", color="blue", weight=3]; 163.99/121.81 170[label="Succ vuz4100",fontsize=16,color="green",shape="box"];171[label="vuz3100",fontsize=16,color="green",shape="box"];172[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 183[label="",style="solid", color="black", weight=3]; 163.99/121.81 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];173 -> 184[label="",style="solid", color="black", weight=3]; 163.99/121.81 174[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 185[label="",style="solid", color="black", weight=3]; 163.99/121.81 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 186[label="",style="solid", color="black", weight=3]; 163.99/121.81 1117 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1117[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1117 -> 1135[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1117 -> 1136[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1118[label="primEqInt (Pos vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1476[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1476[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1476 -> 1137[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1477[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1477[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1477 -> 1138[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1119[label="primEqInt (Neg vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1478[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1478[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1478 -> 1139[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1479[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1479[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1479 -> 1140[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 179 -> 220[label="",style="dashed", color="red", weight=0]; 163.99/121.81 179[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];179 -> 221[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 179 -> 222[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 179 -> 223[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 180[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1480[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];180 -> 1480[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1480 -> 194[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 181 -> 220[label="",style="dashed", color="red", weight=0]; 163.99/121.81 181[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];181 -> 224[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 181 -> 225[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 181 -> 226[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 182[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1481[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];182 -> 1481[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1481 -> 208[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 183[label="False",fontsize=16,color="green",shape="box"];184[label="True",fontsize=16,color="green",shape="box"];185[label="False",fontsize=16,color="green",shape="box"];186[label="True",fontsize=16,color="green",shape="box"];1135[label="vuz130",fontsize=16,color="green",shape="box"];1136[label="vuz110",fontsize=16,color="green",shape="box"];1137[label="primEqInt (Pos (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1137 -> 1151[label="",style="solid", color="black", weight=3]; 163.99/121.81 1138[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1138 -> 1152[label="",style="solid", color="black", weight=3]; 163.99/121.81 1139[label="primEqInt (Neg (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1139 -> 1153[label="",style="solid", color="black", weight=3]; 163.99/121.81 1140[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1140 -> 1154[label="",style="solid", color="black", weight=3]; 163.99/121.81 221 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 221[label="vuz23 * vuz21",fontsize=16,color="magenta"];221 -> 228[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 221 -> 229[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 222 -> 230[label="",style="dashed", color="red", weight=0]; 163.99/121.81 222[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];222 -> 231[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 222 -> 232[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 223 -> 230[label="",style="dashed", color="red", weight=0]; 163.99/121.81 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 233[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 223 -> 234[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 220[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];220 -> 237[label="",style="solid", color="black", weight=3]; 163.99/121.81 194[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];194 -> 1482[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1482 -> 238[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 224 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 224[label="vuz23 * vuz21",fontsize=16,color="magenta"];224 -> 239[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 224 -> 240[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 225 -> 230[label="",style="dashed", color="red", weight=0]; 163.99/121.81 225[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];225 -> 235[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 225 -> 236[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 226 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 226[label="vuz23 * vuz21",fontsize=16,color="magenta"];226 -> 241[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 226 -> 242[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 208[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1483[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];208 -> 1483[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1483 -> 243[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1151[label="False",fontsize=16,color="green",shape="box"];1152[label="True",fontsize=16,color="green",shape="box"];1153[label="False",fontsize=16,color="green",shape="box"];1154[label="True",fontsize=16,color="green",shape="box"];228[label="vuz21",fontsize=16,color="green",shape="box"];229[label="vuz23",fontsize=16,color="green",shape="box"];231 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 231[label="vuz20 * vuz21",fontsize=16,color="magenta"];231 -> 248[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 231 -> 249[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 232 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 232[label="vuz22 * vuz23",fontsize=16,color="magenta"];232 -> 250[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 232 -> 251[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 230[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];230 -> 252[label="",style="solid", color="black", weight=3]; 163.99/121.81 233 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 233[label="vuz20 * vuz21",fontsize=16,color="magenta"];233 -> 253[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 233 -> 254[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 234 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 234[label="vuz22 * vuz23",fontsize=16,color="magenta"];234 -> 255[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 234 -> 256[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 237[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1484[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1484[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1484 -> 261[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1485[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1485[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1485 -> 262[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 238[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];238 -> 263[label="",style="solid", color="black", weight=3]; 163.99/121.81 239[label="vuz21",fontsize=16,color="green",shape="box"];240[label="vuz23",fontsize=16,color="green",shape="box"];235 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 235[label="vuz20 * vuz21",fontsize=16,color="magenta"];235 -> 257[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 235 -> 258[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 236 -> 38[label="",style="dashed", color="red", weight=0]; 163.99/121.81 236[label="vuz22 * vuz23",fontsize=16,color="magenta"];236 -> 259[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 236 -> 260[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 241[label="vuz21",fontsize=16,color="green",shape="box"];242[label="vuz23",fontsize=16,color="green",shape="box"];243[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];243 -> 264[label="",style="solid", color="black", weight=3]; 163.99/121.81 248[label="vuz21",fontsize=16,color="green",shape="box"];249[label="vuz20",fontsize=16,color="green",shape="box"];250[label="vuz23",fontsize=16,color="green",shape="box"];251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1486[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1486[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1486 -> 269[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1487[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1487[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1487 -> 270[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 253[label="vuz21",fontsize=16,color="green",shape="box"];254[label="vuz20",fontsize=16,color="green",shape="box"];255[label="vuz23",fontsize=16,color="green",shape="box"];256[label="vuz22",fontsize=16,color="green",shape="box"];261[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];261 -> 271[label="",style="solid", color="black", weight=3]; 163.99/121.81 262[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];262 -> 272[label="",style="solid", color="black", weight=3]; 163.99/121.81 263 -> 273[label="",style="dashed", color="red", weight=0]; 163.99/121.81 263[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];263 -> 274[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 263 -> 275[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 257[label="vuz21",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];259[label="vuz23",fontsize=16,color="green",shape="box"];260[label="vuz22",fontsize=16,color="green",shape="box"];264 -> 276[label="",style="dashed", color="red", weight=0]; 163.99/121.81 264[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];264 -> 277[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 264 -> 278[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 269[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1488[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1488[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1488 -> 279[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1489[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1489[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1489 -> 280[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 270[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1490[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];270 -> 1490[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1490 -> 281[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1491[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];270 -> 1491[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1491 -> 282[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 271 -> 415[label="",style="dashed", color="red", weight=0]; 163.99/121.81 271[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];271 -> 416[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 272 -> 443[label="",style="dashed", color="red", weight=0]; 163.99/121.81 272[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];272 -> 444[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 274 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 274[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];274 -> 285[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 274 -> 286[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 275 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 275[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];275 -> 287[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 275 -> 288[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 273[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1492[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];273 -> 1492[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1492 -> 289[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 277 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 277[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];277 -> 290[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 277 -> 291[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 278 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 278[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];278 -> 292[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 278 -> 293[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 276[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];276 -> 294[label="",style="solid", color="black", weight=3]; 163.99/121.81 279[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];279 -> 295[label="",style="solid", color="black", weight=3]; 163.99/121.81 280[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];280 -> 296[label="",style="solid", color="black", weight=3]; 163.99/121.81 281[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];281 -> 297[label="",style="solid", color="black", weight=3]; 163.99/121.81 282[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];282 -> 298[label="",style="solid", color="black", weight=3]; 163.99/121.81 416[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];416 -> 432[label="",style="solid", color="black", weight=3]; 163.99/121.81 415[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1493[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1493[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1493 -> 433[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1494[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1494[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1494 -> 434[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 444 -> 416[label="",style="dashed", color="red", weight=0]; 163.99/121.81 444[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];443[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1495[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1495[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1495 -> 460[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1496[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1496[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1496 -> 461[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 285[label="vuz210",fontsize=16,color="green",shape="box"];286[label="vuz200",fontsize=16,color="green",shape="box"];287[label="vuz210",fontsize=16,color="green",shape="box"];288[label="vuz200",fontsize=16,color="green",shape="box"];289[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];289 -> 1497[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1497 -> 301[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 290[label="vuz210",fontsize=16,color="green",shape="box"];291[label="vuz230",fontsize=16,color="green",shape="box"];292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];294 -> 302[label="",style="solid", color="black", weight=3]; 163.99/121.81 295[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];295 -> 303[label="",style="dashed", color="green", weight=3]; 163.99/121.81 296 -> 31[label="",style="dashed", color="red", weight=0]; 163.99/121.81 296[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];296 -> 304[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 296 -> 305[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 297 -> 31[label="",style="dashed", color="red", weight=0]; 163.99/121.81 297[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];297 -> 306[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 297 -> 307[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 298[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];298 -> 308[label="",style="dashed", color="green", weight=3]; 163.99/121.81 432[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];432 -> 438[label="",style="solid", color="black", weight=3]; 163.99/121.81 433[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1498[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];433 -> 1498[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1498 -> 439[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1499[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];433 -> 1499[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1499 -> 440[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 434[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1500[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];434 -> 1500[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1500 -> 441[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1501[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];434 -> 1501[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1501 -> 442[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 460[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];460 -> 1502[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1502 -> 464[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1503[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];460 -> 1503[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1503 -> 465[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 461[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];461 -> 1504[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1504 -> 466[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1505[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];461 -> 1505[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1505 -> 467[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 301[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"];301 -> 313[label="",style="solid", color="black", weight=3]; 163.99/121.81 302[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];302 -> 314[label="",style="solid", color="black", weight=3]; 163.99/121.81 303 -> 43[label="",style="dashed", color="red", weight=0]; 163.99/121.81 303[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];303 -> 315[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 303 -> 316[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 304[label="vuz400",fontsize=16,color="green",shape="box"];305[label="vuz390",fontsize=16,color="green",shape="box"];306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz400",fontsize=16,color="green",shape="box"];308 -> 43[label="",style="dashed", color="red", weight=0]; 163.99/121.81 308[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];308 -> 317[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 308 -> 318[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 438 -> 462[label="",style="dashed", color="red", weight=0]; 163.99/121.81 438[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];438 -> 463[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 439[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];439 -> 468[label="",style="solid", color="black", weight=3]; 163.99/121.81 440[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];440 -> 469[label="",style="solid", color="black", weight=3]; 163.99/121.81 441[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];441 -> 470[label="",style="solid", color="black", weight=3]; 163.99/121.81 442[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];442 -> 471[label="",style="solid", color="black", weight=3]; 163.99/121.81 464[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];464 -> 482[label="",style="solid", color="black", weight=3]; 163.99/121.81 465[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];465 -> 483[label="",style="solid", color="black", weight=3]; 163.99/121.81 466[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];466 -> 484[label="",style="solid", color="black", weight=3]; 163.99/121.81 467[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];467 -> 485[label="",style="solid", color="black", weight=3]; 163.99/121.81 313 -> 325[label="",style="dashed", color="red", weight=0]; 163.99/121.81 313[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];313 -> 326[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 313 -> 327[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 314[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"];1506[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];314 -> 1506[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1506 -> 328[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 315[label="vuz390",fontsize=16,color="green",shape="box"];316[label="vuz400",fontsize=16,color="green",shape="box"];317[label="vuz390",fontsize=16,color="green",shape="box"];318[label="vuz400",fontsize=16,color="green",shape="box"];463 -> 137[label="",style="dashed", color="red", weight=0]; 163.99/121.81 463[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];463 -> 472[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 462[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1507[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];462 -> 1507[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1507 -> 473[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1508[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];462 -> 1508[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1508 -> 474[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 468[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];468 -> 486[label="",style="dashed", color="green", weight=3]; 163.99/121.81 469[label="error []",fontsize=16,color="black",shape="triangle"];469 -> 487[label="",style="solid", color="black", weight=3]; 163.99/121.81 470[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 488[label="",style="dashed", color="green", weight=3]; 163.99/121.81 471 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 471[label="error []",fontsize=16,color="magenta"];482[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];482 -> 494[label="",style="dashed", color="green", weight=3]; 163.99/121.81 483 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 483[label="error []",fontsize=16,color="magenta"];484[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];484 -> 495[label="",style="dashed", color="green", weight=3]; 163.99/121.81 485 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 485[label="error []",fontsize=16,color="magenta"];326 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 326[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];326 -> 333[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 326 -> 334[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 327 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 327[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];327 -> 335[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 327 -> 336[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 325[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];325 -> 337[label="",style="solid", color="black", weight=3]; 163.99/121.81 328[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"];328 -> 338[label="",style="solid", color="black", weight=3]; 163.99/121.81 472[label="vuz38",fontsize=16,color="green",shape="box"];473[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];473 -> 489[label="",style="solid", color="black", weight=3]; 163.99/121.81 474[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];474 -> 490[label="",style="solid", color="black", weight=3]; 163.99/121.81 486[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1509[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];486 -> 1509[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1509 -> 496[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1510[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];486 -> 1510[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1510 -> 497[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 487[label="error []",fontsize=16,color="red",shape="box"];488 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 488[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];488 -> 498[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 494 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 494[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];494 -> 502[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 494 -> 503[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 495 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 495[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];495 -> 504[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 495 -> 505[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 333[label="vuz230",fontsize=16,color="green",shape="box"];334[label="vuz220",fontsize=16,color="green",shape="box"];335[label="vuz230",fontsize=16,color="green",shape="box"];336[label="vuz220",fontsize=16,color="green",shape="box"];337 -> 345[label="",style="dashed", color="red", weight=0]; 163.99/121.81 337[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];337 -> 346[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 337 -> 347[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 338 -> 348[label="",style="dashed", color="red", weight=0]; 163.99/121.81 338[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"];338 -> 349[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 338 -> 350[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 489[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];489 -> 499[label="",style="solid", color="black", weight=3]; 163.99/121.81 490 -> 500[label="",style="dashed", color="red", weight=0]; 163.99/121.81 490[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];490 -> 501[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 496[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];496 -> 506[label="",style="solid", color="black", weight=3]; 163.99/121.81 497[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];497 -> 507[label="",style="solid", color="black", weight=3]; 163.99/121.81 498[label="vuz6500",fontsize=16,color="green",shape="box"];502[label="vuz320",fontsize=16,color="green",shape="box"];503[label="vuz6800",fontsize=16,color="green",shape="box"];504[label="vuz320",fontsize=16,color="green",shape="box"];505[label="vuz6800",fontsize=16,color="green",shape="box"];346 -> 252[label="",style="dashed", color="red", weight=0]; 163.99/121.81 346[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];346 -> 359[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 346 -> 360[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 347 -> 252[label="",style="dashed", color="red", weight=0]; 163.99/121.81 347[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];347 -> 361[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 347 -> 362[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 345[label="Integer vuz51 `quot` reduce2D (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];345 -> 363[label="",style="solid", color="black", weight=3]; 163.99/121.81 349 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 349[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];349 -> 364[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 349 -> 365[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 350 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 350[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];350 -> 366[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 350 -> 367[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 348[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"];1511[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];348 -> 1511[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1511 -> 368[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 499[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];499 -> 508[label="",style="solid", color="black", weight=3]; 163.99/121.81 501 -> 137[label="",style="dashed", color="red", weight=0]; 163.99/121.81 501[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];501 -> 509[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 500[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1512[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];500 -> 1512[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1512 -> 510[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1513[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];500 -> 1513[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1513 -> 511[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 506[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1514[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];506 -> 1514[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1514 -> 521[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1515[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];506 -> 1515[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1515 -> 522[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 507[label="Zero",fontsize=16,color="green",shape="box"];359[label="vuz41",fontsize=16,color="green",shape="box"];360[label="vuz47",fontsize=16,color="green",shape="box"];361[label="vuz41",fontsize=16,color="green",shape="box"];362[label="vuz47",fontsize=16,color="green",shape="box"];363[label="Integer vuz51 `quot` gcd (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];363 -> 375[label="",style="solid", color="black", weight=3]; 163.99/121.81 364[label="vuz210",fontsize=16,color="green",shape="box"];365[label="vuz200",fontsize=16,color="green",shape="box"];366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[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"];368 -> 376[label="",style="solid", color="black", weight=3]; 163.99/121.81 508[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];508 -> 523[label="",style="solid", color="black", weight=3]; 163.99/121.81 509[label="vuz33",fontsize=16,color="green",shape="box"];510[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];510 -> 524[label="",style="solid", color="black", weight=3]; 163.99/121.81 511[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];511 -> 525[label="",style="solid", color="black", weight=3]; 163.99/121.81 521[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];521 -> 1516[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1516 -> 529[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1517[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];521 -> 1517[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1517 -> 530[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 522[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];522 -> 1518[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1518 -> 531[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1519[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];522 -> 1519[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1519 -> 532[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 375[label="Integer vuz51 `quot` gcd3 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];375 -> 383[label="",style="solid", color="black", weight=3]; 163.99/121.81 376 -> 384[label="",style="dashed", color="red", weight=0]; 163.99/121.81 376[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"];376 -> 385[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 376 -> 386[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 523 -> 533[label="",style="dashed", color="red", weight=0]; 163.99/121.81 523[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];523 -> 534[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 524 -> 489[label="",style="dashed", color="red", weight=0]; 163.99/121.81 524[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];525 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 525[label="error []",fontsize=16,color="magenta"];529[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];529 -> 535[label="",style="solid", color="black", weight=3]; 163.99/121.81 530[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];530 -> 536[label="",style="solid", color="black", weight=3]; 163.99/121.81 531[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];531 -> 537[label="",style="solid", color="black", weight=3]; 163.99/121.81 532[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 163.99/121.81 383 -> 393[label="",style="dashed", color="red", weight=0]; 163.99/121.81 383[label="Integer vuz51 `quot` gcd2 (Integer vuz52 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];383 -> 394[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 385 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 385[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];385 -> 395[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 385 -> 396[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 386 -> 56[label="",style="dashed", color="red", weight=0]; 163.99/121.81 386[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];386 -> 397[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 386 -> 398[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 384[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];384 -> 399[label="",style="solid", color="black", weight=3]; 163.99/121.81 534 -> 137[label="",style="dashed", color="red", weight=0]; 163.99/121.81 534[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];534 -> 539[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 533[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1520[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];533 -> 1520[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1520 -> 540[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1521[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];533 -> 1521[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1521 -> 541[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 535 -> 869[label="",style="dashed", color="red", weight=0]; 163.99/121.81 535[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];535 -> 870[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 535 -> 871[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 535 -> 872[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 535 -> 873[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 536[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];536 -> 551[label="",style="solid", color="black", weight=3]; 163.99/121.81 537[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];537 -> 552[label="",style="solid", color="black", weight=3]; 163.99/121.81 538[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];538 -> 553[label="",style="solid", color="black", weight=3]; 163.99/121.81 394 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 394[label="Integer vuz52 == fromInt (Pos Zero)",fontsize=16,color="magenta"];394 -> 1062[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 393[label="Integer vuz51 `quot` gcd2 vuz59 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];393 -> 1522[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1522 -> 406[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1523[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];393 -> 1523[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1523 -> 407[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 395[label="vuz230",fontsize=16,color="green",shape="box"];396[label="vuz220",fontsize=16,color="green",shape="box"];397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399 -> 408[label="",style="dashed", color="red", weight=0]; 163.99/121.81 399[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];399 -> 409[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 399 -> 410[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 539[label="abs vuz33",fontsize=16,color="black",shape="triangle"];539 -> 554[label="",style="solid", color="black", weight=3]; 163.99/121.81 540[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];540 -> 555[label="",style="solid", color="black", weight=3]; 163.99/121.81 541[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];541 -> 556[label="",style="solid", color="black", weight=3]; 163.99/121.81 870[label="vuz32000",fontsize=16,color="green",shape="box"];871[label="vuz65000",fontsize=16,color="green",shape="box"];872[label="vuz32000",fontsize=16,color="green",shape="box"];873[label="vuz65000",fontsize=16,color="green",shape="box"];869[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];869 -> 1524[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1524 -> 902[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1525[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];869 -> 1525[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1525 -> 903[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 551[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];551 -> 566[label="",style="dashed", color="green", weight=3]; 163.99/121.81 552[label="Zero",fontsize=16,color="green",shape="box"];553[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 567[label="",style="dashed", color="green", weight=3]; 163.99/121.81 1062[label="Integer vuz52",fontsize=16,color="green",shape="box"];406[label="Integer vuz51 `quot` gcd2 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];406 -> 475[label="",style="solid", color="black", weight=3]; 163.99/121.81 407[label="Integer vuz51 `quot` gcd2 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];407 -> 476[label="",style="solid", color="black", weight=3]; 163.99/121.81 409 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 409[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 1063[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 410 -> 252[label="",style="dashed", color="red", weight=0]; 163.99/121.81 410[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];410 -> 478[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 410 -> 479[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 408[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1526[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1526 -> 480[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1527[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1527[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1527 -> 481[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 554[label="absReal vuz33",fontsize=16,color="black",shape="box"];554 -> 568[label="",style="solid", color="black", weight=3]; 163.99/121.81 555 -> 569[label="",style="dashed", color="red", weight=0]; 163.99/121.81 555[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];555 -> 570[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 555 -> 571[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 556 -> 539[label="",style="dashed", color="red", weight=0]; 163.99/121.81 556[label="abs vuz38",fontsize=16,color="magenta"];556 -> 572[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 902[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];1528[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];902 -> 1528[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1528 -> 914[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1529[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];902 -> 1529[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1529 -> 915[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 903[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];903 -> 1530[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1530 -> 916[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1531[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];903 -> 1531[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1531 -> 917[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 566 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 566[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];566 -> 577[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 566 -> 578[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 567 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 567[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];567 -> 579[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 567 -> 580[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 475[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];475 -> 491[label="",style="solid", color="black", weight=3]; 163.99/121.81 476 -> 492[label="",style="dashed", color="red", weight=0]; 163.99/121.81 476[label="Integer vuz51 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];476 -> 493[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1063[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1063 -> 1071[label="",style="dashed", color="green", weight=3]; 163.99/121.81 478[label="vuz54",fontsize=16,color="green",shape="box"];479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];480 -> 514[label="",style="solid", color="black", weight=3]; 163.99/121.81 481[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];481 -> 515[label="",style="solid", color="black", weight=3]; 163.99/121.81 568[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];568 -> 581[label="",style="solid", color="black", weight=3]; 163.99/121.81 570 -> 539[label="",style="dashed", color="red", weight=0]; 163.99/121.81 570[label="abs vuz38",fontsize=16,color="magenta"];570 -> 582[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 571 -> 539[label="",style="dashed", color="red", weight=0]; 163.99/121.81 571[label="abs vuz33",fontsize=16,color="magenta"];569[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];569 -> 583[label="",style="solid", color="black", weight=3]; 163.99/121.81 572[label="vuz38",fontsize=16,color="green",shape="box"];914[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];914 -> 927[label="",style="solid", color="black", weight=3]; 163.99/121.81 915[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];915 -> 928[label="",style="solid", color="black", weight=3]; 163.99/121.81 916[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (Succ vuz1000))",fontsize=16,color="black",shape="box"];916 -> 929[label="",style="solid", color="black", weight=3]; 163.99/121.81 917[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 163.99/121.81 577[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];577 -> 592[label="",style="solid", color="black", weight=3]; 163.99/121.81 578[label="Zero",fontsize=16,color="green",shape="box"];579[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];579 -> 593[label="",style="solid", color="black", weight=3]; 163.99/121.81 580[label="Zero",fontsize=16,color="green",shape="box"];491[label="Integer vuz51 `quot` gcd0Gcd' (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];491 -> 516[label="",style="solid", color="black", weight=3]; 163.99/121.81 493 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 493[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];493 -> 1064[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 492[label="Integer vuz51 `quot` gcd1 vuz70 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1532[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];492 -> 1532[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1532 -> 519[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1533[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];492 -> 1533[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1533 -> 520[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1071 -> 252[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1071[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1071 -> 1079[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1071 -> 1080[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 514[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];514 -> 526[label="",style="solid", color="black", weight=3]; 163.99/121.81 515 -> 527[label="",style="dashed", color="red", weight=0]; 163.99/121.81 515[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];515 -> 528[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 581[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];581 -> 594[label="",style="solid", color="black", weight=3]; 163.99/121.81 582[label="vuz38",fontsize=16,color="green",shape="box"];583[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];583 -> 595[label="",style="solid", color="black", weight=3]; 163.99/121.81 927 -> 869[label="",style="dashed", color="red", weight=0]; 163.99/121.81 927[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];927 -> 939[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 927 -> 940[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 928[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];928 -> 941[label="",style="solid", color="black", weight=3]; 163.99/121.81 929[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];929 -> 942[label="",style="solid", color="black", weight=3]; 163.99/121.81 930 -> 928[label="",style="dashed", color="red", weight=0]; 163.99/121.81 930[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];592[label="Succ vuz32000",fontsize=16,color="green",shape="box"];593[label="Zero",fontsize=16,color="green",shape="box"];516[label="Integer vuz51 `quot` gcd0Gcd'2 (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];516 -> 542[label="",style="solid", color="black", weight=3]; 163.99/121.81 1064 -> 1059[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1064[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1064 -> 1072[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1064 -> 1073[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 519[label="Integer vuz51 `quot` gcd1 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];519 -> 543[label="",style="solid", color="black", weight=3]; 163.99/121.81 520[label="Integer vuz51 `quot` gcd1 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];520 -> 544[label="",style="solid", color="black", weight=3]; 163.99/121.81 1079[label="vuz54",fontsize=16,color="green",shape="box"];1080[label="vuz58",fontsize=16,color="green",shape="box"];526[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];526 -> 545[label="",style="solid", color="black", weight=3]; 163.99/121.81 528 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 528[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];528 -> 1065[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 527[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];527 -> 1534[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1534 -> 547[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1535[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];527 -> 1535[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1535 -> 548[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 594[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];594 -> 604[label="",style="solid", color="black", weight=3]; 163.99/121.81 595[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];595 -> 605[label="",style="solid", color="black", weight=3]; 163.99/121.81 939[label="vuz990",fontsize=16,color="green",shape="box"];940[label="vuz1000",fontsize=16,color="green",shape="box"];941[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];941 -> 1016[label="",style="dashed", color="green", weight=3]; 163.99/121.81 942[label="Zero",fontsize=16,color="green",shape="box"];542 -> 1041[label="",style="dashed", color="red", weight=0]; 163.99/121.81 542[label="Integer vuz51 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];542 -> 1042[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 542 -> 1043[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 542 -> 1044[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1072[label="Integer vuz210",fontsize=16,color="green",shape="box"];1073[label="Integer vuz230",fontsize=16,color="green",shape="box"];543 -> 475[label="",style="dashed", color="red", weight=0]; 163.99/121.81 543[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];544[label="Integer vuz51 `quot` error []",fontsize=16,color="black",shape="triangle"];544 -> 558[label="",style="solid", color="black", weight=3]; 163.99/121.81 545[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];545 -> 559[label="",style="solid", color="black", weight=3]; 163.99/121.81 1065[label="Integer vuz44",fontsize=16,color="green",shape="box"];547[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 163.99/121.81 548[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];548 -> 561[label="",style="solid", color="black", weight=3]; 163.99/121.81 604[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];604 -> 616[label="",style="solid", color="black", weight=3]; 163.99/121.81 605 -> 617[label="",style="dashed", color="red", weight=0]; 163.99/121.81 605[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];605 -> 618[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1016 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1016[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1016 -> 1028[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1016 -> 1029[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1042 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1042[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1042 -> 1066[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1043[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1043 -> 1054[label="",style="solid", color="black", weight=3]; 163.99/121.81 1044[label="abs (Integer vuz52)",fontsize=16,color="black",shape="triangle"];1044 -> 1055[label="",style="solid", color="black", weight=3]; 163.99/121.81 1041[label="Integer vuz51 `quot` gcd0Gcd'1 vuz105 vuz104 vuz102",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz105/False",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1536[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1536 -> 1056[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1537[label="vuz105/True",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1537[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1537 -> 1057[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 558[label="error []",fontsize=16,color="red",shape="box"];559 -> 1041[label="",style="dashed", color="red", weight=0]; 163.99/121.81 559[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];559 -> 1047[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 559 -> 1048[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 559 -> 1049[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 559 -> 1050[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 560 -> 514[label="",style="dashed", color="red", weight=0]; 163.99/121.81 560[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];561 -> 544[label="",style="dashed", color="red", weight=0]; 163.99/121.81 561[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];561 -> 586[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 616[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1538[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1538[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1538 -> 626[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1539[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1539[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1539 -> 627[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 618 -> 137[label="",style="dashed", color="red", weight=0]; 163.99/121.81 618[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];618 -> 628[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 617[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1540[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];617 -> 1540[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1540 -> 629[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1541[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];617 -> 1541[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1541 -> 630[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1028[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="black",shape="box"];1028 -> 1039[label="",style="solid", color="black", weight=3]; 163.99/121.81 1029[label="Succ vuz98",fontsize=16,color="green",shape="box"];1066 -> 1043[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1066[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1074[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1054[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1075[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1055 -> 1074[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1055[label="absReal (Integer vuz52)",fontsize=16,color="magenta"];1055 -> 1076[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1056[label="Integer vuz51 `quot` gcd0Gcd'1 False vuz104 vuz102",fontsize=16,color="black",shape="box"];1056 -> 1081[label="",style="solid", color="black", weight=3]; 163.99/121.81 1057[label="Integer vuz51 `quot` gcd0Gcd'1 True vuz104 vuz102",fontsize=16,color="black",shape="box"];1057 -> 1082[label="",style="solid", color="black", weight=3]; 163.99/121.81 1047 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1047[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1047 -> 1068[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1048[label="vuz43",fontsize=16,color="green",shape="box"];1049 -> 1044[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1049[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1049 -> 1083[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1050 -> 1044[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1050[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1050 -> 1084[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 586[label="vuz43",fontsize=16,color="green",shape="box"];626[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1542[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];626 -> 1542[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1542 -> 640[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1543[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];626 -> 1543[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1543 -> 641[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 627[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1544[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];627 -> 1544[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1544 -> 642[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1545[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];627 -> 1545[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1545 -> 643[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 628[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];628 -> 644[label="",style="solid", color="black", weight=3]; 163.99/121.81 629[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];629 -> 645[label="",style="solid", color="black", weight=3]; 163.99/121.81 630[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];630 -> 646[label="",style="solid", color="black", weight=3]; 163.99/121.81 1039[label="primMinusNatS vuz97 vuz98",fontsize=16,color="burlywood",shape="triangle"];1546[label="vuz97/Succ vuz970",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1546[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1546 -> 1085[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1547[label="vuz97/Zero",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1547[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1547 -> 1086[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1075 -> 1059[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1075[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1075 -> 1087[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1075 -> 1088[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1074[label="absReal vuz107",fontsize=16,color="black",shape="triangle"];1074 -> 1089[label="",style="solid", color="black", weight=3]; 163.99/121.81 1076[label="Integer vuz52",fontsize=16,color="green",shape="box"];1081[label="Integer vuz51 `quot` gcd0Gcd'0 vuz104 vuz102",fontsize=16,color="black",shape="box"];1081 -> 1102[label="",style="solid", color="black", weight=3]; 163.99/121.81 1082[label="Integer vuz51 `quot` vuz104",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1082 -> 1548[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1548 -> 1103[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1068 -> 1044[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1068[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1068 -> 1090[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1083[label="vuz44",fontsize=16,color="green",shape="box"];1084[label="vuz61",fontsize=16,color="green",shape="box"];640[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];640 -> 657[label="",style="solid", color="black", weight=3]; 163.99/121.81 641[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];641 -> 658[label="",style="solid", color="black", weight=3]; 163.99/121.81 642[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 659[label="",style="solid", color="black", weight=3]; 163.99/121.81 643[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];643 -> 660[label="",style="solid", color="black", weight=3]; 163.99/121.81 644[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1549[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1549[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1549 -> 661[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1550[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1550[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1550 -> 662[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 645 -> 569[label="",style="dashed", color="red", weight=0]; 163.99/121.81 645[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];645 -> 663[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 645 -> 664[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 646[label="vuz74",fontsize=16,color="green",shape="box"];1085[label="primMinusNatS (Succ vuz970) vuz98",fontsize=16,color="burlywood",shape="box"];1551[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1551[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1551 -> 1104[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1552[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1552[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1552 -> 1105[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1086[label="primMinusNatS Zero vuz98",fontsize=16,color="burlywood",shape="box"];1553[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1553[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1553 -> 1106[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1554[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1554[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1554 -> 1107[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1087[label="Integer vuz210",fontsize=16,color="green",shape="box"];1088[label="Integer vuz230",fontsize=16,color="green",shape="box"];1089[label="absReal2 vuz107",fontsize=16,color="black",shape="box"];1089 -> 1108[label="",style="solid", color="black", weight=3]; 163.99/121.81 1102 -> 1082[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1102[label="Integer vuz51 `quot` gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1102 -> 1120[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1103[label="Integer vuz51 `quot` Integer vuz1040",fontsize=16,color="black",shape="box"];1103 -> 1121[label="",style="solid", color="black", weight=3]; 163.99/121.81 1090[label="vuz44",fontsize=16,color="green",shape="box"];657[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];657 -> 683[label="",style="solid", color="black", weight=3]; 163.99/121.81 658[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];658 -> 684[label="",style="solid", color="black", weight=3]; 163.99/121.81 659[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];659 -> 685[label="",style="solid", color="black", weight=3]; 163.99/121.81 660[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];660 -> 686[label="",style="solid", color="black", weight=3]; 163.99/121.81 661[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1555[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1555[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1555 -> 687[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1556[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1556[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1556 -> 688[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 662[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1557[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];662 -> 1557[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1557 -> 689[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1558[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];662 -> 1558[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1558 -> 690[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 663[label="vuz74",fontsize=16,color="green",shape="box"];664 -> 628[label="",style="dashed", color="red", weight=0]; 163.99/121.81 664[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];1104[label="primMinusNatS (Succ vuz970) (Succ vuz980)",fontsize=16,color="black",shape="box"];1104 -> 1122[label="",style="solid", color="black", weight=3]; 163.99/121.81 1105[label="primMinusNatS (Succ vuz970) Zero",fontsize=16,color="black",shape="box"];1105 -> 1123[label="",style="solid", color="black", weight=3]; 163.99/121.81 1106[label="primMinusNatS Zero (Succ vuz980)",fontsize=16,color="black",shape="box"];1106 -> 1124[label="",style="solid", color="black", weight=3]; 163.99/121.81 1107[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1107 -> 1125[label="",style="solid", color="black", weight=3]; 163.99/121.81 1108[label="absReal1 vuz107 (vuz107 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1108 -> 1126[label="",style="solid", color="black", weight=3]; 163.99/121.81 1120[label="gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="triangle"];1120 -> 1141[label="",style="solid", color="black", weight=3]; 163.99/121.81 1121[label="Integer (primQuotInt vuz51 vuz1040)",fontsize=16,color="green",shape="box"];1121 -> 1142[label="",style="dashed", color="green", weight=3]; 163.99/121.81 683[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];683 -> 707[label="",style="solid", color="black", weight=3]; 163.99/121.81 684[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];684 -> 708[label="",style="solid", color="black", weight=3]; 163.99/121.81 685[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];685 -> 709[label="",style="solid", color="black", weight=3]; 163.99/121.81 686[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 163.99/121.81 687[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1559[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];687 -> 1559[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1559 -> 711[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1560[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];687 -> 1560[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1560 -> 712[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 688[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1561[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];688 -> 1561[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1561 -> 713[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1562[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];688 -> 1562[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1562 -> 714[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 689[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1563[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];689 -> 1563[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1563 -> 715[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1564[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];689 -> 1564[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1564 -> 716[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 690[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1565[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];690 -> 1565[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1565 -> 717[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1566[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];690 -> 1566[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1566 -> 718[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1122 -> 1039[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1122[label="primMinusNatS vuz970 vuz980",fontsize=16,color="magenta"];1122 -> 1143[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1122 -> 1144[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1123[label="Succ vuz970",fontsize=16,color="green",shape="box"];1124[label="Zero",fontsize=16,color="green",shape="box"];1125[label="Zero",fontsize=16,color="green",shape="box"];1126[label="absReal1 vuz107 (compare vuz107 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1126 -> 1145[label="",style="solid", color="black", weight=3]; 163.99/121.81 1141[label="gcd0Gcd'2 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1141 -> 1155[label="",style="solid", color="black", weight=3]; 163.99/121.81 1142[label="primQuotInt vuz51 vuz1040",fontsize=16,color="burlywood",shape="box"];1567[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1567[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1567 -> 1156[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1568[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1568[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1568 -> 1157[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 707[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];707 -> 728[label="",style="solid", color="black", weight=3]; 163.99/121.81 708[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];708 -> 729[label="",style="solid", color="black", weight=3]; 163.99/121.81 709[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];709 -> 730[label="",style="solid", color="black", weight=3]; 163.99/121.81 710[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];710 -> 731[label="",style="solid", color="black", weight=3]; 163.99/121.81 711[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];711 -> 732[label="",style="solid", color="black", weight=3]; 163.99/121.81 712[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];712 -> 733[label="",style="solid", color="black", weight=3]; 163.99/121.81 713[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];713 -> 734[label="",style="solid", color="black", weight=3]; 163.99/121.81 714[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];714 -> 735[label="",style="solid", color="black", weight=3]; 163.99/121.81 715[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];715 -> 736[label="",style="solid", color="black", weight=3]; 163.99/121.81 716[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];716 -> 737[label="",style="solid", color="black", weight=3]; 163.99/121.81 717[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];717 -> 738[label="",style="solid", color="black", weight=3]; 163.99/121.81 718[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];718 -> 739[label="",style="solid", color="black", weight=3]; 163.99/121.81 1143[label="vuz970",fontsize=16,color="green",shape="box"];1144[label="vuz980",fontsize=16,color="green",shape="box"];1145[label="absReal1 vuz107 (not (compare vuz107 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1569[label="vuz107/Integer vuz1070",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1569[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1569 -> 1158[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1155 -> 1167[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1155[label="gcd0Gcd'1 (vuz104 `rem` vuz102 == fromInt (Pos Zero)) vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1155 -> 1168[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1156[label="primQuotInt (Pos vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1570[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1570[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1570 -> 1169[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1571[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1571[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1571 -> 1170[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1157[label="primQuotInt (Neg vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1572[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1157 -> 1572[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1572 -> 1171[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1573[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1157 -> 1573[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1573 -> 1172[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 728[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];728 -> 749[label="",style="solid", color="black", weight=3]; 163.99/121.81 729[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];729 -> 750[label="",style="solid", color="black", weight=3]; 163.99/121.81 730[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];730 -> 751[label="",style="solid", color="black", weight=3]; 163.99/121.81 731[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];731 -> 752[label="",style="solid", color="black", weight=3]; 163.99/121.81 732[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];732 -> 753[label="",style="dashed", color="green", weight=3]; 163.99/121.81 733 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 733[label="error []",fontsize=16,color="magenta"];734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 754[label="",style="dashed", color="green", weight=3]; 163.99/121.81 735 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 735[label="error []",fontsize=16,color="magenta"];736[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 755[label="",style="dashed", color="green", weight=3]; 163.99/121.81 737 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 737[label="error []",fontsize=16,color="magenta"];738[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];738 -> 756[label="",style="dashed", color="green", weight=3]; 163.99/121.81 739 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 739[label="error []",fontsize=16,color="magenta"];1158[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1158 -> 1173[label="",style="solid", color="black", weight=3]; 163.99/121.81 1168 -> 1058[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1168[label="vuz104 `rem` vuz102 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1168 -> 1174[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1167[label="gcd0Gcd'1 vuz108 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="burlywood",shape="triangle"];1574[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1574[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1574 -> 1175[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1575[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1575[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1575 -> 1176[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1169[label="primQuotInt (Pos vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1576[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1576[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1576 -> 1185[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1577[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1577[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1577 -> 1186[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1170[label="primQuotInt (Pos vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1170 -> 1578[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1578 -> 1187[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1579[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1170 -> 1579[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1579 -> 1188[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1171[label="primQuotInt (Neg vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1580[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1580 -> 1189[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1581[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1581[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1581 -> 1190[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1172[label="primQuotInt (Neg vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1582[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1582 -> 1191[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1583[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1583[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1583 -> 1192[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 749[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];749 -> 768[label="",style="solid", color="black", weight=3]; 163.99/121.81 750[label="Pos Zero",fontsize=16,color="green",shape="box"];751[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];751 -> 769[label="",style="solid", color="black", weight=3]; 163.99/121.81 752[label="Neg Zero",fontsize=16,color="green",shape="box"];753[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1584[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];753 -> 1584[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1584 -> 770[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1585[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];753 -> 1585[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1585 -> 771[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 754 -> 753[label="",style="dashed", color="red", weight=0]; 163.99/121.81 754[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];754 -> 772[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 755 -> 753[label="",style="dashed", color="red", weight=0]; 163.99/121.81 755[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];755 -> 773[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 756 -> 753[label="",style="dashed", color="red", weight=0]; 163.99/121.81 756[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];756 -> 774[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 756 -> 775[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1173[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1173 -> 1193[label="",style="solid", color="black", weight=3]; 163.99/121.81 1174[label="vuz104 `rem` vuz102",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1586[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1586 -> 1194[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1175[label="gcd0Gcd'1 False vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1175 -> 1195[label="",style="solid", color="black", weight=3]; 163.99/121.81 1176[label="gcd0Gcd'1 True vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1176 -> 1196[label="",style="solid", color="black", weight=3]; 163.99/121.81 1185[label="primQuotInt (Pos vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1185 -> 1202[label="",style="solid", color="black", weight=3]; 163.99/121.81 1186[label="primQuotInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1186 -> 1203[label="",style="solid", color="black", weight=3]; 163.99/121.81 1187[label="primQuotInt (Pos vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 163.99/121.81 1188[label="primQuotInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1188 -> 1205[label="",style="solid", color="black", weight=3]; 163.99/121.81 1189[label="primQuotInt (Neg vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1189 -> 1206[label="",style="solid", color="black", weight=3]; 163.99/121.81 1190[label="primQuotInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 163.99/121.81 1191[label="primQuotInt (Neg vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1191 -> 1208[label="",style="solid", color="black", weight=3]; 163.99/121.81 1192[label="primQuotInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1192 -> 1209[label="",style="solid", color="black", weight=3]; 163.99/121.81 768[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];769[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];769 -> 788[label="",style="solid", color="black", weight=3]; 163.99/121.81 770[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];770 -> 789[label="",style="solid", color="black", weight=3]; 163.99/121.81 771[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];771 -> 790[label="",style="solid", color="black", weight=3]; 163.99/121.81 772[label="vuz7400",fontsize=16,color="green",shape="box"];773[label="vuz750",fontsize=16,color="green",shape="box"];774[label="vuz750",fontsize=16,color="green",shape="box"];775[label="vuz7400",fontsize=16,color="green",shape="box"];1193[label="absReal1 (Integer vuz1070) (not (primCmpInt vuz1070 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1587[label="vuz1070/Pos vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1587[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1587 -> 1210[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1588[label="vuz1070/Neg vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1588[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1588 -> 1211[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1194[label="Integer vuz1040 `rem` vuz102",fontsize=16,color="burlywood",shape="box"];1589[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1194 -> 1589[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1589 -> 1212[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1195 -> 1213[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1195[label="gcd0Gcd'0 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1195 -> 1214[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1196[label="vuz102",fontsize=16,color="green",shape="box"];1202[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1202 -> 1215[label="",style="dashed", color="green", weight=3]; 163.99/121.81 1203 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1203[label="error []",fontsize=16,color="magenta"];1204[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1204 -> 1216[label="",style="dashed", color="green", weight=3]; 163.99/121.81 1205 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1205[label="error []",fontsize=16,color="magenta"];1206[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1206 -> 1217[label="",style="dashed", color="green", weight=3]; 163.99/121.81 1207 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1207[label="error []",fontsize=16,color="magenta"];1208[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1208 -> 1218[label="",style="dashed", color="green", weight=3]; 163.99/121.81 1209 -> 469[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1209[label="error []",fontsize=16,color="magenta"];788 -> 70[label="",style="dashed", color="red", weight=0]; 163.99/121.81 788[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];788 -> 808[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 789[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1590[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];789 -> 1590[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1590 -> 809[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1591[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];789 -> 1591[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1591 -> 810[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 790[label="Zero",fontsize=16,color="green",shape="box"];1210[label="absReal1 (Integer (Pos vuz10700)) (not (primCmpInt (Pos vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1592[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1592[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1592 -> 1219[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1593[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1593[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1593 -> 1220[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1211[label="absReal1 (Integer (Neg vuz10700)) (not (primCmpInt (Neg vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1594[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1211 -> 1594[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1594 -> 1221[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1595[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1211 -> 1595[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1595 -> 1222[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1212[label="Integer vuz1040 `rem` Integer vuz1020",fontsize=16,color="black",shape="box"];1212 -> 1223[label="",style="solid", color="black", weight=3]; 163.99/121.81 1214 -> 1174[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1214[label="vuz104 `rem` vuz102",fontsize=16,color="magenta"];1213[label="gcd0Gcd'0 vuz102 vuz109",fontsize=16,color="black",shape="triangle"];1213 -> 1224[label="",style="solid", color="black", weight=3]; 163.99/121.81 1215 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1215[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1215 -> 1233[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1215 -> 1234[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1216 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1216[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1216 -> 1235[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1216 -> 1236[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1217 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1217[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1217 -> 1237[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1217 -> 1238[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1218 -> 486[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1218[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1218 -> 1239[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1218 -> 1240[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 808[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];809[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1596[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];809 -> 1596[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1596 -> 840[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1597[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];809 -> 1597[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1597 -> 841[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 810[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1598[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];810 -> 1598[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1598 -> 842[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1599[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];810 -> 1599[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1599 -> 843[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1219[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpInt (Pos (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1219 -> 1241[label="",style="solid", color="black", weight=3]; 163.99/121.81 1220[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1220 -> 1242[label="",style="solid", color="black", weight=3]; 163.99/121.81 1221[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (primCmpInt (Neg (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 163.99/121.81 1222[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 163.99/121.81 1223[label="Integer (primRemInt vuz1040 vuz1020)",fontsize=16,color="green",shape="box"];1223 -> 1245[label="",style="dashed", color="green", weight=3]; 163.99/121.81 1224 -> 1120[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1224[label="gcd0Gcd' vuz109 (vuz102 `rem` vuz109)",fontsize=16,color="magenta"];1224 -> 1246[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1224 -> 1247[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1233[label="vuz510",fontsize=16,color="green",shape="box"];1234[label="vuz104000",fontsize=16,color="green",shape="box"];1235[label="vuz510",fontsize=16,color="green",shape="box"];1236[label="vuz104000",fontsize=16,color="green",shape="box"];1237[label="vuz510",fontsize=16,color="green",shape="box"];1238[label="vuz104000",fontsize=16,color="green",shape="box"];1239[label="vuz510",fontsize=16,color="green",shape="box"];1240[label="vuz104000",fontsize=16,color="green",shape="box"];840[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];840 -> 852[label="",style="solid", color="black", weight=3]; 163.99/121.81 841[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];841 -> 853[label="",style="solid", color="black", weight=3]; 163.99/121.81 842[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];842 -> 854[label="",style="solid", color="black", weight=3]; 163.99/121.81 843[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];843 -> 855[label="",style="solid", color="black", weight=3]; 163.99/121.81 1241[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpNat (Succ vuz107000) Zero == LT))",fontsize=16,color="black",shape="box"];1241 -> 1256[label="",style="solid", color="black", weight=3]; 163.99/121.81 1242[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1242 -> 1257[label="",style="solid", color="black", weight=3]; 163.99/121.81 1243[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1243 -> 1258[label="",style="solid", color="black", weight=3]; 163.99/121.81 1244[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1244 -> 1259[label="",style="solid", color="black", weight=3]; 163.99/121.81 1245 -> 644[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1245[label="primRemInt vuz1040 vuz1020",fontsize=16,color="magenta"];1245 -> 1260[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1245 -> 1261[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1246[label="vuz109",fontsize=16,color="green",shape="box"];1247[label="vuz102",fontsize=16,color="green",shape="box"];852 -> 1354[label="",style="dashed", color="red", weight=0]; 163.99/121.81 852[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];852 -> 1355[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 852 -> 1356[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 852 -> 1357[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 852 -> 1358[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 853[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];853 -> 866[label="",style="solid", color="black", weight=3]; 163.99/121.81 854[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];854 -> 867[label="",style="solid", color="black", weight=3]; 163.99/121.81 855[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 163.99/121.81 1256[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1256 -> 1267[label="",style="solid", color="black", weight=3]; 163.99/121.81 1257[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1257 -> 1268[label="",style="solid", color="black", weight=3]; 163.99/121.81 1258[label="absReal1 (Integer (Neg (Succ vuz107000))) (not True)",fontsize=16,color="black",shape="box"];1258 -> 1269[label="",style="solid", color="black", weight=3]; 163.99/121.81 1259[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 163.99/121.81 1260[label="vuz1040",fontsize=16,color="green",shape="box"];1261[label="vuz1020",fontsize=16,color="green",shape="box"];1355[label="vuz75000",fontsize=16,color="green",shape="box"];1356[label="vuz74000",fontsize=16,color="green",shape="box"];1357[label="vuz75000",fontsize=16,color="green",shape="box"];1358[label="vuz74000",fontsize=16,color="green",shape="box"];1354[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz132 vuz133)",fontsize=16,color="burlywood",shape="triangle"];1600[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1600[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1600 -> 1391[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1601[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1601[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1601 -> 1392[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 866 -> 753[label="",style="dashed", color="red", weight=0]; 163.99/121.81 866[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];866 -> 908[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 866 -> 909[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 867[label="Succ Zero",fontsize=16,color="green",shape="box"];868 -> 753[label="",style="dashed", color="red", weight=0]; 163.99/121.81 868[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];868 -> 910[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 868 -> 911[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1267[label="absReal1 (Integer (Pos (Succ vuz107000))) (not False)",fontsize=16,color="black",shape="box"];1267 -> 1273[label="",style="solid", color="black", weight=3]; 163.99/121.81 1268[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1268 -> 1274[label="",style="solid", color="black", weight=3]; 163.99/121.81 1269[label="absReal1 (Integer (Neg (Succ vuz107000))) False",fontsize=16,color="black",shape="box"];1269 -> 1275[label="",style="solid", color="black", weight=3]; 163.99/121.81 1270[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1270 -> 1276[label="",style="solid", color="black", weight=3]; 163.99/121.81 1391[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) vuz133)",fontsize=16,color="burlywood",shape="box"];1602[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1602[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1602 -> 1393[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1603[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1603[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1603 -> 1394[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1392[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero vuz133)",fontsize=16,color="burlywood",shape="box"];1604[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1392 -> 1604[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1604 -> 1395[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 1605[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1392 -> 1605[label="",style="solid", color="burlywood", weight=9]; 163.99/121.81 1605 -> 1396[label="",style="solid", color="burlywood", weight=3]; 163.99/121.81 908 -> 577[label="",style="dashed", color="red", weight=0]; 163.99/121.81 908[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];908 -> 923[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 909[label="Zero",fontsize=16,color="green",shape="box"];910 -> 579[label="",style="dashed", color="red", weight=0]; 163.99/121.81 910[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];911[label="Zero",fontsize=16,color="green",shape="box"];1273[label="absReal1 (Integer (Pos (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1273 -> 1283[label="",style="solid", color="black", weight=3]; 163.99/121.81 1274[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1275[label="absReal0 (Integer (Neg (Succ vuz107000))) otherwise",fontsize=16,color="black",shape="box"];1275 -> 1284[label="",style="solid", color="black", weight=3]; 163.99/121.81 1276[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1393[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) (Succ vuz1330))",fontsize=16,color="black",shape="box"];1393 -> 1397[label="",style="solid", color="black", weight=3]; 163.99/121.81 1394[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) Zero)",fontsize=16,color="black",shape="box"];1394 -> 1398[label="",style="solid", color="black", weight=3]; 163.99/121.81 1395[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero (Succ vuz1330))",fontsize=16,color="black",shape="box"];1395 -> 1399[label="",style="solid", color="black", weight=3]; 163.99/121.81 1396[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1396 -> 1400[label="",style="solid", color="black", weight=3]; 163.99/121.81 923[label="vuz75000",fontsize=16,color="green",shape="box"];1283[label="Integer (Pos (Succ vuz107000))",fontsize=16,color="green",shape="box"];1284[label="absReal0 (Integer (Neg (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1284 -> 1291[label="",style="solid", color="black", weight=3]; 163.99/121.81 1397 -> 1354[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1397[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz1320 vuz1330)",fontsize=16,color="magenta"];1397 -> 1401[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1397 -> 1402[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1398[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="black",shape="triangle"];1398 -> 1403[label="",style="solid", color="black", weight=3]; 163.99/121.81 1399[label="primModNatS0 (Succ vuz130) (Succ vuz131) False",fontsize=16,color="black",shape="box"];1399 -> 1404[label="",style="solid", color="black", weight=3]; 163.99/121.81 1400 -> 1398[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1400[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="magenta"];1291 -> 69[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1291[label="`negate` Integer (Neg (Succ vuz107000))",fontsize=16,color="magenta"];1291 -> 1296[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1401[label="vuz1320",fontsize=16,color="green",shape="box"];1402[label="vuz1330",fontsize=16,color="green",shape="box"];1403 -> 753[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1403[label="primModNatS (primMinusNatS (Succ vuz130) (Succ vuz131)) (Succ (Succ vuz131))",fontsize=16,color="magenta"];1403 -> 1405[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1403 -> 1406[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1404[label="Succ (Succ vuz130)",fontsize=16,color="green",shape="box"];1296[label="Integer (Neg (Succ vuz107000))",fontsize=16,color="green",shape="box"];1405 -> 1039[label="",style="dashed", color="red", weight=0]; 163.99/121.81 1405[label="primMinusNatS (Succ vuz130) (Succ vuz131)",fontsize=16,color="magenta"];1405 -> 1407[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1405 -> 1408[label="",style="dashed", color="magenta", weight=3]; 163.99/121.81 1406[label="Succ vuz131",fontsize=16,color="green",shape="box"];1407[label="Succ vuz130",fontsize=16,color="green",shape="box"];1408[label="Succ vuz131",fontsize=16,color="green",shape="box"];} 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (12) 163.99/121.81 Complex Obligation (AND) 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (13) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) 163.99/121.81 new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primModNatS0(vuz130, vuz131, Zero, Zero) -> new_primModNatS00(vuz130, vuz131) 163.99/121.81 new_primModNatS00(vuz130, vuz131) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primMinusNatS1 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (14) DependencyGraphProof (EQUIVALENT) 163.99/121.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (15) 163.99/121.81 Complex Obligation (AND) 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (16) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primModNatS0(vuz130, vuz131, Zero, Zero) -> new_primModNatS00(vuz130, vuz131) 163.99/121.81 new_primModNatS00(vuz130, vuz131) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primMinusNatS1 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (17) QDPOrderProof (EQUIVALENT) 163.99/121.81 We use the reduction pair processor [LPAR04,JAR06]. 163.99/121.81 163.99/121.81 163.99/121.81 The following pairs can be oriented strictly and are deleted. 163.99/121.81 163.99/121.81 new_primModNatS(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS0(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 The remaining pairs can at least be oriented weakly. 163.99/121.81 Used ordering: Polynomial interpretation [POLO]: 163.99/121.81 163.99/121.81 POL(Succ(x_1)) = 1 + x_1 163.99/121.81 POL(Zero) = 1 163.99/121.81 POL(new_primMinusNatS2(x_1, x_2)) = x_1 163.99/121.81 POL(new_primModNatS(x_1, x_2)) = x_1 163.99/121.81 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 163.99/121.81 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 163.99/121.81 163.99/121.81 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (18) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primModNatS0(vuz130, vuz131, Zero, Zero) -> new_primModNatS00(vuz130, vuz131) 163.99/121.81 new_primModNatS00(vuz130, vuz131) -> new_primModNatS(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primMinusNatS1 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (19) DependencyGraphProof (EQUIVALENT) 163.99/121.81 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (20) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primMinusNatS1 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (21) QDPSizeChangeProof (EQUIVALENT) 163.99/121.81 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. 163.99/121.81 163.99/121.81 From the DPs we obtained the following set of size-change graphs: 163.99/121.81 *new_primModNatS0(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS0(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 163.99/121.81 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (22) 163.99/121.81 YES 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (23) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primMinusNatS1 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (24) MRRProof (EQUIVALENT) 163.99/121.81 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. 163.99/121.81 163.99/121.81 Strictly oriented dependency pairs: 163.99/121.81 163.99/121.81 new_primModNatS(Succ(Succ(vuz75000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 163.99/121.81 Strictly oriented rules of the TRS R: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 163.99/121.81 Used ordering: Polynomial interpretation [POLO]: 163.99/121.81 163.99/121.81 POL(Succ(x_1)) = 1 + x_1 163.99/121.81 POL(Zero) = 2 163.99/121.81 POL(new_primMinusNatS0(x_1)) = 1 + x_1 163.99/121.81 POL(new_primMinusNatS1) = 2 163.99/121.81 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 163.99/121.81 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 163.99/121.81 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (25) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 P is empty. 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primMinusNatS1 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (26) PisEmptyProof (EQUIVALENT) 163.99/121.81 The TRS P is empty. Hence, there is no (P,Q,R) chain. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (27) 163.99/121.81 YES 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (28) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz75, vuz74)), vuz74, vuz75) 163.99/121.81 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_rem0(vuz75, vuz74)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.81 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_error -> error([]) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_esEs0(Neg(Zero)) -> True 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_esEs0(Pos(Zero)) -> True 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS1 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_esEs0(Pos(Succ(x0))) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.81 new_primModNatS02(x0, x1) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.81 new_error 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) 163.99/121.81 new_esEs0(Neg(Zero)) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.81 new_esEs0(Pos(Zero)) 163.99/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.81 new_rem0(x0, x1) 163.99/121.81 new_primModNatS1(Zero, x0) 163.99/121.81 new_esEs0(Neg(Succ(x0))) 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (29) TransformationProof (EQUIVALENT) 163.99/121.81 By rewriting [LPAR04] the rule new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_rem0(vuz75, vuz74)), vuz74, vuz75) at position [0,0] we obtained the following new rules [LPAR04]: 163.99/121.81 163.99/121.81 (new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75),new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75)) 163.99/121.81 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (30) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_rem0(vuz75, vuz74)) 163.99/121.81 new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.81 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_error -> error([]) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_esEs0(Neg(Zero)) -> True 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_esEs0(Pos(Zero)) -> True 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS1 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_esEs0(Pos(Succ(x0))) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.81 new_primModNatS02(x0, x1) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.81 new_error 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) 163.99/121.81 new_esEs0(Neg(Zero)) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.81 new_esEs0(Pos(Zero)) 163.99/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.81 new_rem0(x0, x1) 163.99/121.81 new_primModNatS1(Zero, x0) 163.99/121.81 new_esEs0(Neg(Succ(x0))) 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (31) TransformationProof (EQUIVALENT) 163.99/121.81 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_rem0(vuz75, vuz74)) at position [1] we obtained the following new rules [LPAR04]: 163.99/121.81 163.99/121.81 (new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)),new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74))) 163.99/121.81 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (32) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 163.99/121.81 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.81 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_error -> error([]) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_esEs0(Neg(Zero)) -> True 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_esEs0(Pos(Zero)) -> True 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_rem0(vuz75, vuz74) -> new_primRemInt(vuz75, vuz74) 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS1 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_esEs0(Pos(Succ(x0))) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.81 new_primModNatS02(x0, x1) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.81 new_error 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) 163.99/121.81 new_esEs0(Neg(Zero)) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.81 new_esEs0(Pos(Zero)) 163.99/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.81 new_rem0(x0, x1) 163.99/121.81 new_primModNatS1(Zero, x0) 163.99/121.81 new_esEs0(Neg(Succ(x0))) 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (33) UsableRulesProof (EQUIVALENT) 163.99/121.81 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (34) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 163.99/121.81 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_error -> error([]) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.81 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.81 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.81 new_esEs0(Neg(Zero)) -> True 163.99/121.81 new_esEs0(Pos(Zero)) -> True 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS1 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_esEs0(Pos(Succ(x0))) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.81 new_primModNatS02(x0, x1) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.81 new_error 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) 163.99/121.81 new_esEs0(Neg(Zero)) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.81 new_esEs0(Pos(Zero)) 163.99/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.81 new_rem0(x0, x1) 163.99/121.81 new_primModNatS1(Zero, x0) 163.99/121.81 new_esEs0(Neg(Succ(x0))) 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (35) QReductionProof (EQUIVALENT) 163.99/121.81 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 163.99/121.81 163.99/121.81 new_rem0(x0, x1) 163.99/121.81 163.99/121.81 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (36) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 163.99/121.81 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_error -> error([]) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.81 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.81 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.81 new_esEs0(Neg(Zero)) -> True 163.99/121.81 new_esEs0(Pos(Zero)) -> True 163.99/121.81 163.99/121.81 The set Q consists of the following terms: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.81 new_primMinusNatS0(x0) 163.99/121.81 new_primMinusNatS1 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.81 new_esEs0(Pos(Succ(x0))) 163.99/121.81 new_primMinusNatS2(Zero, Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.81 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.81 new_primModNatS02(x0, x1) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.81 new_error 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) 163.99/121.81 new_esEs0(Neg(Zero)) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.81 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.81 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.81 new_esEs0(Pos(Zero)) 163.99/121.81 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.81 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.81 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.81 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.81 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.81 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.81 new_primModNatS1(Zero, x0) 163.99/121.81 new_esEs0(Neg(Succ(x0))) 163.99/121.81 163.99/121.81 We have to consider all minimal (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (37) MNOCProof (EQUIVALENT) 163.99/121.81 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (38) 163.99/121.81 Obligation: 163.99/121.81 Q DP problem: 163.99/121.81 The TRS P consists of the following rules: 163.99/121.81 163.99/121.81 new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 163.99/121.81 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.81 163.99/121.81 The TRS R consists of the following rules: 163.99/121.81 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.81 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.81 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.81 new_error -> error([]) 163.99/121.81 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.81 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.81 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.81 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.81 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.81 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.81 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.81 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.81 new_primMinusNatS1 -> Zero 163.99/121.81 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.81 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.81 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.81 new_esEs0(Neg(Zero)) -> True 163.99/121.81 new_esEs0(Pos(Zero)) -> True 163.99/121.81 163.99/121.81 Q is empty. 163.99/121.81 We have to consider all (P,Q,R)-chains. 163.99/121.81 ---------------------------------------- 163.99/121.81 163.99/121.81 (39) InductionCalculusProof (EQUIVALENT) 163.99/121.81 Note that final constraints are written in bold face. 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 For Pair new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) the following chains were created: 163.99/121.81 *We consider the chain new_gcd0Gcd'00(x2, x3) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2), new_gcd0Gcd'10(False, x4, x5) -> new_gcd0Gcd'00(x4, new_primRemInt(x5, x4)) which results in the following constraint: 163.99/121.81 163.99/121.81 (1) (new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)=new_gcd0Gcd'10(False, x4, x5) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 163.99/121.81 163.99/121.81 (2) (new_primRemInt(x2, x3)=x12 & new_esEs0(x12)=False ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x12)=False which results in the following new constraints: 163.99/121.81 163.99/121.81 (3) (False=False & new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) 163.99/121.81 163.99/121.81 (4) (False=False & new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 163.99/121.81 163.99/121.81 (5) (new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 163.99/121.81 163.99/121.81 (6) (new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'00(x2, x3)_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(x2, x3)), x3, x2)) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 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: 163.99/121.81 163.99/121.81 (7) (Pos(new_primModNatS1(x16, x15))=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) 163.99/121.81 163.99/121.81 (8) (Pos(new_primModNatS1(x18, x17))=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) 163.99/121.81 163.99/121.81 (9) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x19), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x19), Neg(Zero))), Neg(Zero), Neg(x19))) 163.99/121.81 163.99/121.81 (10) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x22), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x22), Pos(Zero))), Pos(Zero), Pos(x22))) 163.99/121.81 163.99/121.81 (11) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Pos(x25), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x25), Neg(Zero))), Neg(Zero), Pos(x25))) 163.99/121.81 163.99/121.81 (12) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'00(Neg(x26), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x26), Pos(Zero))), Pos(Zero), Neg(x26))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 163.99/121.81 163.99/121.81 (13) (new_primModNatS1(x16, x15)=Succ(x13) ==> new_gcd0Gcd'00(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 163.99/121.81 163.99/121.81 (14) (new_primModNatS1(x18, x17)=Succ(x13) ==> new_gcd0Gcd'00(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 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: 163.99/121.81 163.99/121.81 (15) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 (16) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 (17) (new_primModNatS1(new_primMinusNatS0(x29), Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 163.99/121.81 163.99/121.81 (18) (new_primModNatS01(x31, x30, x31, x30)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))), Neg(Succ(Succ(x30))), Pos(Succ(Succ(x31))))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 163.99/121.81 163.99/121.81 (19) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.81 163.99/121.81 (20) (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.81 163.99/121.81 (21) (new_gcd0Gcd'00(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.81 163.99/121.81 (22) (new_gcd0Gcd'00(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 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: 163.99/121.81 163.99/121.81 (23) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 (24) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 (25) (new_primModNatS1(new_primMinusNatS0(x40), Zero)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) 163.99/121.81 163.99/121.81 (26) (new_primModNatS01(x42, x41, x42, x41)=Succ(x13) ==> new_gcd0Gcd'00(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))), Pos(Succ(Succ(x41))), Pos(Succ(Succ(x42))))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 163.99/121.81 163.99/121.81 (27) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.81 163.99/121.81 (28) (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.81 163.99/121.81 (29) (new_gcd0Gcd'00(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.81 163.99/121.81 (30) (new_gcd0Gcd'00(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 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: 163.99/121.81 163.99/121.81 (31) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x53), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x53), Neg(Zero))), Neg(Zero), Neg(x53))) 163.99/121.81 163.99/121.81 (32) (Neg(new_primModNatS1(x55, x54))=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) 163.99/121.81 163.99/121.81 (33) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x56), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x56), Pos(Zero))), Pos(Zero), Pos(x56))) 163.99/121.81 163.99/121.81 (34) (Neg(new_primModNatS1(x58, x57))=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) 163.99/121.81 163.99/121.81 (35) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Pos(x59), Neg(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(x59), Neg(Zero))), Neg(Zero), Pos(x59))) 163.99/121.81 163.99/121.81 (36) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'00(Neg(x60), Pos(Zero))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x60), Pos(Zero))), Pos(Zero), Neg(x60))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 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: 163.99/121.81 163.99/121.81 (37) (new_primModNatS1(x55, x54)=Succ(x14) ==> new_gcd0Gcd'00(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 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: 163.99/121.81 163.99/121.81 (38) (new_primModNatS1(x58, x57)=Succ(x14) ==> new_gcd0Gcd'00(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) 163.99/121.81 163.99/121.81 163.99/121.81 163.99/121.81 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(x55, x54)=Succ(x14) which results in the following new constraints: 163.99/121.82 163.99/121.82 (39) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 (40) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 (41) (new_primModNatS1(new_primMinusNatS0(x63), Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) 163.99/121.82 163.99/121.82 (42) (new_primModNatS01(x65, x64, x65, x64)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))), Pos(Succ(Succ(x64))), Neg(Succ(Succ(x65))))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: 163.99/121.82 163.99/121.82 (43) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.82 163.99/121.82 (44) (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.82 163.99/121.82 (45) (new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.82 163.99/121.82 (46) (new_gcd0Gcd'00(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x58, x57)=Succ(x14) which results in the following new constraints: 163.99/121.82 163.99/121.82 (47) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 (48) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 (49) (new_primModNatS1(new_primMinusNatS0(x74), Zero)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) 163.99/121.82 163.99/121.82 (50) (new_primModNatS01(x76, x75, x76, x75)=Succ(x14) ==> new_gcd0Gcd'00(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))), Neg(Succ(Succ(x75))), Neg(Succ(Succ(x76))))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: 163.99/121.82 163.99/121.82 (51) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.82 163.99/121.82 (52) (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.82 163.99/121.82 (53) (new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: 163.99/121.82 163.99/121.82 (54) (new_gcd0Gcd'00(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 For Pair new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) the following chains were created: 163.99/121.82 *We consider the chain new_gcd0Gcd'10(False, x6, x7) -> new_gcd0Gcd'00(x6, new_primRemInt(x7, x6)), new_gcd0Gcd'00(x8, x9) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(x8, x9)), x9, x8) which results in the following constraint: 163.99/121.82 163.99/121.82 (1) (new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))=new_gcd0Gcd'00(x8, x9) ==> new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 163.99/121.82 163.99/121.82 (2) (new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 To summarize, we get the following constraints P__>=_ for the following pairs. 163.99/121.82 163.99/121.82 *new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) 163.99/121.82 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'00(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'10(new_esEs0(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 *new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 163.99/121.82 *(new_gcd0Gcd'10(False, x6, x7)_>=_new_gcd0Gcd'00(x6, new_primRemInt(x7, x6))) 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 163.99/121.82 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (40) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (41) TransformationProof (EQUIVALENT) 163.99/121.82 By narrowing [LPAR04] the rule new_gcd0Gcd'00(vuz75, vuz74) -> new_gcd0Gcd'10(new_esEs0(new_primRemInt(vuz75, vuz74)), vuz74, vuz75) at position [0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) 163.99/121.82 (new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) 163.99/121.82 (new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0))) 163.99/121.82 (new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) 163.99/121.82 (new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0))) 163.99/121.82 (new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) 163.99/121.82 (new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0))) 163.99/121.82 (new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (42) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (43) TransformationProof (EQUIVALENT) 163.99/121.82 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (44) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (45) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (46) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (47) TransformationProof (EQUIVALENT) 163.99/121.82 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (48) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Pos(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (49) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (50) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (51) TransformationProof (EQUIVALENT) 163.99/121.82 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (52) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Neg(Zero), Pos(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (53) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (54) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (55) TransformationProof (EQUIVALENT) 163.99/121.82 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (56) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'10(new_esEs0(error([])), Pos(Zero), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (57) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (58) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (59) TransformationProof (EQUIVALENT) 163.99/121.82 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, vuz74, vuz75) -> new_gcd0Gcd'00(vuz74, new_primRemInt(vuz75, vuz74)) at position [1] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 163.99/121.82 (new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error),new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error)) 163.99/121.82 (new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 163.99/121.82 (new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error),new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error)) 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error),new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error)) 163.99/121.82 (new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error),new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error)) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (60) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error) 163.99/121.82 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'00(Neg(Zero), new_error) 163.99/121.82 new_gcd0Gcd'10(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'00(Pos(Zero), new_error) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (61) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (62) 163.99/121.82 Complex Obligation (AND) 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (63) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 163.99/121.82 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 163.99/121.82 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 163.99/121.82 new_error -> error([]) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Pos(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_esEs0(Pos(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (64) UsableRulesProof (EQUIVALENT) 163.99/121.82 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (65) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (66) QReductionProof (EQUIVALENT) 163.99/121.82 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 163.99/121.82 163.99/121.82 new_primRemInt(Pos(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Zero)) 163.99/121.82 new_primRemInt(Neg(x0), Neg(Zero)) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Zero)) 163.99/121.82 new_error 163.99/121.82 new_primRemInt(Neg(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Neg(Succ(x1))) 163.99/121.82 new_primRemInt(Neg(x0), Pos(Succ(x1))) 163.99/121.82 new_primRemInt(Pos(x0), Pos(Succ(x1))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (67) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (68) TransformationProof (EQUIVALENT) 163.99/121.82 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero))) 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (69) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Neg(Zero)) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (70) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (71) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (72) TransformationProof (EQUIVALENT) 163.99/121.82 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (73) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (74) TransformationProof (EQUIVALENT) 163.99/121.82 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (75) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (76) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (77) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (78) TransformationProof (EQUIVALENT) 163.99/121.82 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 163.99/121.82 163.99/121.82 (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 163.99/121.82 (new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) 163.99/121.82 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 163.99/121.82 (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 163.99/121.82 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (79) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (80) DependencyGraphProof (EQUIVALENT) 163.99/121.82 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (81) 163.99/121.82 Complex Obligation (AND) 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (82) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.82 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.82 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.82 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.82 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (83) UsableRulesProof (EQUIVALENT) 163.99/121.82 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (84) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.82 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.82 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.82 163.99/121.82 The TRS R consists of the following rules: 163.99/121.82 163.99/121.82 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.82 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.82 new_primMinusNatS1 -> Zero 163.99/121.82 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.82 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.82 new_esEs0(Neg(Zero)) -> True 163.99/121.82 163.99/121.82 The set Q consists of the following terms: 163.99/121.82 163.99/121.82 new_primMinusNatS0(x0) 163.99/121.82 new_primMinusNatS1 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_esEs0(Pos(Succ(x0))) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS1(Succ(Zero), Zero) 163.99/121.82 new_esEs0(Neg(Zero)) 163.99/121.82 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.82 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.82 new_esEs0(Pos(Zero)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 new_primModNatS1(Zero, x0) 163.99/121.82 new_esEs0(Neg(Succ(x0))) 163.99/121.82 163.99/121.82 We have to consider all minimal (P,Q,R)-chains. 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (85) QReductionProof (EQUIVALENT) 163.99/121.82 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 163.99/121.82 163.99/121.82 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.82 new_primMinusNatS2(Zero, Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.82 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.82 new_primModNatS02(x0, x1) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.82 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.82 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.82 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.82 163.99/121.82 163.99/121.82 ---------------------------------------- 163.99/121.82 163.99/121.82 (86) 163.99/121.82 Obligation: 163.99/121.82 Q DP problem: 163.99/121.82 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (87) TransformationProof (EQUIVALENT) 163.99/121.83 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (88) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (89) TransformationProof (EQUIVALENT) 163.99/121.83 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (90) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (91) TransformationProof (EQUIVALENT) 163.99/121.83 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (92) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (93) TransformationProof (EQUIVALENT) 163.99/121.83 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (94) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (95) DependencyGraphProof (EQUIVALENT) 163.99/121.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (96) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (97) TransformationProof (EQUIVALENT) 163.99/121.83 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (98) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (99) TransformationProof (EQUIVALENT) 163.99/121.83 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) 163.99/121.83 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (100) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (101) DependencyGraphProof (EQUIVALENT) 163.99/121.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (102) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (103) TransformationProof (EQUIVALENT) 163.99/121.83 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (104) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (105) TransformationProof (EQUIVALENT) 163.99/121.83 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (106) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (107) TransformationProof (EQUIVALENT) 163.99/121.83 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (108) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (109) DependencyGraphProof (EQUIVALENT) 163.99/121.83 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (110) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (111) TransformationProof (EQUIVALENT) 163.99/121.83 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (112) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.83 163.99/121.83 The TRS R consists of the following rules: 163.99/121.83 163.99/121.83 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.83 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.83 new_primMinusNatS1 -> Zero 163.99/121.83 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.83 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.83 new_esEs0(Neg(Zero)) -> True 163.99/121.83 163.99/121.83 The set Q consists of the following terms: 163.99/121.83 163.99/121.83 new_primMinusNatS0(x0) 163.99/121.83 new_primMinusNatS1 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.83 new_esEs0(Pos(Succ(x0))) 163.99/121.83 new_primModNatS1(Succ(Zero), Zero) 163.99/121.83 new_esEs0(Neg(Zero)) 163.99/121.83 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.83 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.83 new_esEs0(Pos(Zero)) 163.99/121.83 new_primModNatS1(Zero, x0) 163.99/121.83 new_esEs0(Neg(Succ(x0))) 163.99/121.83 163.99/121.83 We have to consider all minimal (P,Q,R)-chains. 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (113) TransformationProof (EQUIVALENT) 163.99/121.83 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 163.99/121.83 163.99/121.83 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.83 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 163.99/121.83 163.99/121.83 163.99/121.83 ---------------------------------------- 163.99/121.83 163.99/121.83 (114) 163.99/121.83 Obligation: 163.99/121.83 Q DP problem: 163.99/121.83 The TRS P consists of the following rules: 163.99/121.83 163.99/121.83 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.83 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.84 new_primMinusNatS1 -> Zero 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primMinusNatS0(x0) 163.99/121.84 new_primMinusNatS1 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (115) DependencyGraphProof (EQUIVALENT) 163.99/121.84 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (116) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.84 new_primMinusNatS1 -> Zero 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primMinusNatS0(x0) 163.99/121.84 new_primMinusNatS1 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (117) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (118) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.84 new_primMinusNatS1 -> Zero 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primMinusNatS0(x0) 163.99/121.84 new_primMinusNatS1 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (119) QDPSizeChangeProof (EQUIVALENT) 163.99/121.84 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 163.99/121.84 163.99/121.84 Order:Polynomial interpretation [POLO]: 163.99/121.84 163.99/121.84 POL(False) = 1 163.99/121.84 POL(Neg(x_1)) = x_1 163.99/121.84 POL(Succ(x_1)) = 1 + x_1 163.99/121.84 POL(Zero) = 1 163.99/121.84 POL(new_primMinusNatS0(x_1)) = 1 + x_1 163.99/121.84 POL(new_primMinusNatS1) = 1 163.99/121.84 POL(new_primModNatS1(x_1, x_2)) = x_1 163.99/121.84 163.99/121.84 163.99/121.84 163.99/121.84 163.99/121.84 From the DPs we obtained the following set of size-change graphs: 163.99/121.84 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 163.99/121.84 The graph contains the following edges 2 >= 2, 1 >= 3 163.99/121.84 163.99/121.84 163.99/121.84 *new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 163.99/121.84 The graph contains the following edges 2 >= 2, 1 >= 3 163.99/121.84 163.99/121.84 163.99/121.84 *new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 163.99/121.84 The graph contains the following edges 2 >= 1, 3 >= 2 163.99/121.84 163.99/121.84 163.99/121.84 *new_gcd0Gcd'10(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 163.99/121.84 The graph contains the following edges 2 >= 1, 3 > 2 163.99/121.84 163.99/121.84 163.99/121.84 163.99/121.84 We oriented the following set of usable rules [AAECC05,FROCOS05]. 163.99/121.84 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.84 new_primMinusNatS1 -> Zero 163.99/121.84 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (120) 163.99/121.84 YES 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (121) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 163.99/121.84 new_primMinusNatS1 -> Zero 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primMinusNatS0(x0) 163.99/121.84 new_primMinusNatS1 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (122) UsableRulesProof (EQUIVALENT) 163.99/121.84 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. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (123) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primMinusNatS0(x0) 163.99/121.84 new_primMinusNatS1 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (124) QReductionProof (EQUIVALENT) 163.99/121.84 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 163.99/121.84 163.99/121.84 new_primMinusNatS0(x0) 163.99/121.84 new_primMinusNatS1 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (125) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (126) TransformationProof (EQUIVALENT) 163.99/121.84 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (127) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (128) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (129) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (130) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (131) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (132) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (133) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (134) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (135) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (136) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (137) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (138) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.84 163.99/121.84 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 163.99/121.84 163.99/121.84 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (139) 163.99/121.84 Obligation: 163.99/121.84 Q DP problem: 163.99/121.84 The TRS P consists of the following rules: 163.99/121.84 163.99/121.84 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.84 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.84 163.99/121.84 The TRS R consists of the following rules: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.84 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.84 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.84 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.84 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.84 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.84 new_esEs0(Neg(Zero)) -> True 163.99/121.84 163.99/121.84 The set Q consists of the following terms: 163.99/121.84 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.84 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.84 new_esEs0(Pos(Succ(x0))) 163.99/121.84 new_primMinusNatS2(Zero, Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.84 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.84 new_primModNatS02(x0, x1) 163.99/121.84 new_primModNatS1(Succ(Zero), Zero) 163.99/121.84 new_esEs0(Neg(Zero)) 163.99/121.84 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.84 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.84 new_esEs0(Pos(Zero)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.84 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.84 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.84 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.84 new_primModNatS1(Zero, x0) 163.99/121.84 new_esEs0(Neg(Succ(x0))) 163.99/121.84 163.99/121.84 We have to consider all minimal (P,Q,R)-chains. 163.99/121.84 ---------------------------------------- 163.99/121.84 163.99/121.84 (140) TransformationProof (EQUIVALENT) 163.99/121.84 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (141) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (142) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (143) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (144) DependencyGraphProof (EQUIVALENT) 163.99/121.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (145) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (146) TransformationProof (EQUIVALENT) 163.99/121.85 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (147) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (148) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (149) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (150) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (151) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (152) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (153) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (154) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (155) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (156) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (157) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (158) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (159) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (160) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (161) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (162) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (163) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (164) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (165) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (166) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (167) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (168) DependencyGraphProof (EQUIVALENT) 163.99/121.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (169) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (170) TransformationProof (EQUIVALENT) 163.99/121.85 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (171) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (172) DependencyGraphProof (EQUIVALENT) 163.99/121.85 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (173) 163.99/121.85 Complex Obligation (AND) 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (174) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (175) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (176) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (177) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (178) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (179) TransformationProof (EQUIVALENT) 163.99/121.85 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (180) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (181) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (182) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (183) TransformationProof (EQUIVALENT) 163.99/121.85 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (184) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 163.99/121.85 new_primMinusNatS2(Succ(x0), Zero) 163.99/121.85 new_esEs0(Pos(Succ(x0))) 163.99/121.85 new_primMinusNatS2(Zero, Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Zero) 163.99/121.85 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 163.99/121.85 new_primModNatS02(x0, x1) 163.99/121.85 new_primModNatS1(Succ(Zero), Zero) 163.99/121.85 new_esEs0(Neg(Zero)) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(x0)) 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 163.99/121.85 new_esEs0(Pos(Zero)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Succ(x2)) 163.99/121.85 new_primMinusNatS2(Succ(x0), Succ(x1)) 163.99/121.85 new_primMinusNatS2(Zero, Succ(x0)) 163.99/121.85 new_primModNatS01(x0, x1, Zero, Zero) 163.99/121.85 new_primModNatS1(Zero, x0) 163.99/121.85 new_esEs0(Neg(Succ(x0))) 163.99/121.85 163.99/121.85 We have to consider all minimal (P,Q,R)-chains. 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (185) TransformationProof (EQUIVALENT) 163.99/121.85 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 163.99/121.85 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 163.99/121.85 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 163.99/121.85 163.99/121.85 163.99/121.85 ---------------------------------------- 163.99/121.85 163.99/121.85 (186) 163.99/121.85 Obligation: 163.99/121.85 Q DP problem: 163.99/121.85 The TRS P consists of the following rules: 163.99/121.85 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 163.99/121.85 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 163.99/121.85 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 163.99/121.85 163.99/121.85 The TRS R consists of the following rules: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 163.99/121.85 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 163.99/121.85 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 163.99/121.85 new_primModNatS1(Zero, vuz7400) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Zero) -> Zero 163.99/121.85 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 163.99/121.85 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 163.99/121.85 new_esEs0(Neg(Succ(vuz2500))) -> False 163.99/121.85 new_esEs0(Neg(Zero)) -> True 163.99/121.85 163.99/121.85 The set Q consists of the following terms: 163.99/121.85 163.99/121.85 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (187) DependencyGraphProof (EQUIVALENT) 164.30/121.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (188) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (189) QDPOrderProof (EQUIVALENT) 164.30/121.86 We use the reduction pair processor [LPAR04,JAR06]. 164.30/121.86 164.30/121.86 164.30/121.86 The following pairs can be oriented strictly and are deleted. 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.30/121.86 The remaining pairs can at least be oriented weakly. 164.30/121.86 Used ordering: Polynomial interpretation [POLO]: 164.30/121.86 164.30/121.86 POL(False) = 0 164.30/121.86 POL(Neg(x_1)) = 2*x_1 164.30/121.86 POL(Succ(x_1)) = 1 + x_1 164.30/121.86 POL(True) = 3 164.30/121.86 POL(Zero) = 2 164.30/121.86 POL(new_esEs0(x_1)) = 0 164.30/121.86 POL(new_gcd0Gcd'00(x_1, x_2)) = 2 + x_1 + x_2 164.30/121.86 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2 + x_2 + x_3 164.30/121.86 POL(new_primMinusNatS2(x_1, x_2)) = x_1 164.30/121.86 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 164.30/121.86 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 164.30/121.86 POL(new_primModNatS1(x_1, x_2)) = x_1 164.30/121.86 164.30/121.86 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 164.30/121.86 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (190) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (191) DependencyGraphProof (EQUIVALENT) 164.30/121.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (192) 164.30/121.86 TRUE 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (193) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (194) TransformationProof (EQUIVALENT) 164.30/121.86 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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]: 164.30/121.86 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (195) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (196) DependencyGraphProof (EQUIVALENT) 164.30/121.86 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (197) 164.30/121.86 Complex Obligation (AND) 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (198) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (199) TransformationProof (EQUIVALENT) 164.30/121.86 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.86 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (200) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (201) TransformationProof (EQUIVALENT) 164.30/121.86 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.86 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (202) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (203) TransformationProof (EQUIVALENT) 164.30/121.86 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.86 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (204) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (205) TransformationProof (EQUIVALENT) 164.30/121.86 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.86 164.30/121.86 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (206) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (207) QReductionProof (EQUIVALENT) 164.30/121.86 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 164.30/121.86 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (208) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (209) InductionCalculusProof (EQUIVALENT) 164.30/121.86 Note that final constraints are written in bold face. 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 164.30/121.86 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: 164.30/121.86 164.30/121.86 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 164.30/121.86 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: 164.30/121.86 164.30/121.86 (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: 164.30/121.86 164.30/121.86 (3) (False=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (5) (new_primModNatS01(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 164.30/121.86 164.30/121.86 (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (7) (x25=x28 & x24=x29 & new_primModNatS01(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x25)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (8) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: 164.30/121.86 164.30/121.86 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) 164.30/121.86 164.30/121.86 (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'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) 164.30/121.86 164.30/121.86 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) 164.30/121.86 164.30/121.86 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 164.30/121.86 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.30/121.86 164.30/121.86 (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 164.30/121.86 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x18))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.30/121.86 164.30/121.86 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 164.30/121.86 164.30/121.86 (3) (new_primModNatS01(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (5) (x48=x51 & x47=x52 & new_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 164.30/121.86 164.30/121.86 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x18)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x18)))) & 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'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 To summarize, we get the following constraints P__>=_ for the following pairs. 164.30/121.86 164.30/121.86 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (210) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (211) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (212) QReductionProof (EQUIVALENT) 164.30/121.86 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 164.30/121.86 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 164.30/121.86 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (213) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (214) InductionCalculusProof (EQUIVALENT) 164.30/121.86 Note that final constraints are written in bold face. 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 164.30/121.86 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.30/121.86 164.30/121.86 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.30/121.86 164.30/121.86 (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'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 164.30/121.86 164.30/121.86 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.30/121.86 164.30/121.86 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (4) using rule (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (11) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.30/121.86 164.30/121.86 (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'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(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)))))) 164.30/121.86 164.30/121.86 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 164.30/121.86 164.30/121.86 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (16) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(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)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (19) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.30/121.86 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 164.30/121.86 164.30/121.86 (1) (new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (2) (Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs0(x52)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraint: 164.30/121.86 164.30/121.86 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.30/121.86 164.30/121.86 (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'00(Neg(Succ(Succ(Succ(Succ(x59))))), Neg(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (6) using rule (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (12) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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: 164.30/121.86 164.30/121.86 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 (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'00(Neg(Succ(Succ(Succ(Succ(Succ(x78)))))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.30/121.86 164.30/121.86 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.30/121.86 164.30/121.86 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (18) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 164.30/121.86 164.30/121.86 (21) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 164.30/121.86 164.30/121.86 (22) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 To summarize, we get the following constraints P__>=_ for the following pairs. 164.30/121.86 164.30/121.86 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(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)))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.30/121.86 164.30/121.86 164.30/121.86 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 164.30/121.86 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. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (215) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.30/121.86 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.86 164.30/121.86 The TRS R consists of the following rules: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.86 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.86 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.86 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.86 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.86 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.86 new_esEs0(Neg(Zero)) -> True 164.30/121.86 164.30/121.86 The set Q consists of the following terms: 164.30/121.86 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.86 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.86 new_esEs0(Pos(Succ(x0))) 164.30/121.86 new_primMinusNatS2(Zero, Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.86 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.86 new_primModNatS02(x0, x1) 164.30/121.86 new_primModNatS1(Succ(Zero), Zero) 164.30/121.86 new_esEs0(Neg(Zero)) 164.30/121.86 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.86 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.86 new_esEs0(Pos(Zero)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.86 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.86 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.86 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.86 new_primModNatS1(Zero, x0) 164.30/121.86 new_esEs0(Neg(Succ(x0))) 164.30/121.86 164.30/121.86 We have to consider all minimal (P,Q,R)-chains. 164.30/121.86 ---------------------------------------- 164.30/121.86 164.30/121.86 (216) 164.30/121.86 Obligation: 164.30/121.86 Q DP problem: 164.30/121.86 The TRS P consists of the following rules: 164.30/121.86 164.30/121.86 new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 164.30/121.86 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.30/121.87 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.30/121.87 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.30/121.87 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.30/121.87 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.30/121.87 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.30/121.87 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.30/121.87 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.30/121.87 new_error -> error([]) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Neg(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Neg(Zero)) -> True 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primRemInt(Pos(x0), Neg(Zero)) 164.30/121.87 new_primRemInt(Neg(x0), Pos(Zero)) 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primRemInt(Neg(x0), Neg(Zero)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primRemInt(Pos(x0), Pos(Zero)) 164.30/121.87 new_error 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.30/121.87 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.30/121.87 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (217) UsableRulesProof (EQUIVALENT) 164.30/121.87 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. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (218) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 164.30/121.87 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primRemInt(Pos(x0), Neg(Zero)) 164.30/121.87 new_primRemInt(Neg(x0), Pos(Zero)) 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primRemInt(Neg(x0), Neg(Zero)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primRemInt(Pos(x0), Pos(Zero)) 164.30/121.87 new_error 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.30/121.87 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.30/121.87 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (219) QReductionProof (EQUIVALENT) 164.30/121.87 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 164.30/121.87 164.30/121.87 new_primRemInt(Pos(x0), Neg(Zero)) 164.30/121.87 new_primRemInt(Neg(x0), Pos(Zero)) 164.30/121.87 new_primRemInt(Neg(x0), Neg(Zero)) 164.30/121.87 new_primRemInt(Pos(x0), Pos(Zero)) 164.30/121.87 new_error 164.30/121.87 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.30/121.87 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.30/121.87 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.30/121.87 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (220) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 164.30/121.87 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (221) TransformationProof (EQUIVALENT) 164.30/121.87 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero))) 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (222) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Pos(Zero)) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (223) DependencyGraphProof (EQUIVALENT) 164.30/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (224) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (225) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (226) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (227) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (228) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (229) DependencyGraphProof (EQUIVALENT) 164.30/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (230) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (231) TransformationProof (EQUIVALENT) 164.30/121.87 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (232) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (233) DependencyGraphProof (EQUIVALENT) 164.30/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (234) 164.30/121.87 Complex Obligation (AND) 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (235) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (236) UsableRulesProof (EQUIVALENT) 164.30/121.87 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. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (237) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (238) QReductionProof (EQUIVALENT) 164.30/121.87 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 164.30/121.87 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (239) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (240) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (241) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (242) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (243) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (244) TransformationProof (EQUIVALENT) 164.30/121.87 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (245) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (246) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (247) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (248) DependencyGraphProof (EQUIVALENT) 164.30/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (249) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (250) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (251) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (252) TransformationProof (EQUIVALENT) 164.30/121.87 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (253) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (254) DependencyGraphProof (EQUIVALENT) 164.30/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (255) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (256) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (257) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (258) TransformationProof (EQUIVALENT) 164.30/121.87 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (259) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (260) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (261) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (262) DependencyGraphProof (EQUIVALENT) 164.30/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (263) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (264) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (265) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (266) TransformationProof (EQUIVALENT) 164.30/121.87 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (267) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (268) DependencyGraphProof (EQUIVALENT) 164.30/121.87 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (269) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (270) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (271) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (272) QDPSizeChangeProof (EQUIVALENT) 164.30/121.87 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 164.30/121.87 164.30/121.87 Order:Polynomial interpretation [POLO]: 164.30/121.87 164.30/121.87 POL(False) = 1 164.30/121.87 POL(Pos(x_1)) = x_1 164.30/121.87 POL(Succ(x_1)) = 1 + x_1 164.30/121.87 POL(Zero) = 1 164.30/121.87 POL(new_primMinusNatS0(x_1)) = 1 + x_1 164.30/121.87 POL(new_primMinusNatS1) = 1 164.30/121.87 POL(new_primModNatS1(x_1, x_2)) = x_1 164.30/121.87 164.30/121.87 164.30/121.87 164.30/121.87 164.30/121.87 From the DPs we obtained the following set of size-change graphs: 164.30/121.87 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 164.30/121.87 The graph contains the following edges 2 >= 2, 1 >= 3 164.30/121.87 164.30/121.87 164.30/121.87 *new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 164.30/121.87 The graph contains the following edges 2 >= 2, 1 >= 3 164.30/121.87 164.30/121.87 164.30/121.87 *new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 164.30/121.87 The graph contains the following edges 2 >= 1, 3 >= 2 164.30/121.87 164.30/121.87 164.30/121.87 *new_gcd0Gcd'10(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 164.30/121.87 The graph contains the following edges 2 >= 1, 3 > 2 164.30/121.87 164.30/121.87 164.30/121.87 164.30/121.87 We oriented the following set of usable rules [AAECC05,FROCOS05]. 164.30/121.87 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (273) 164.30/121.87 YES 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (274) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.30/121.87 new_primMinusNatS1 -> Zero 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (275) UsableRulesProof (EQUIVALENT) 164.30/121.87 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. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (276) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (277) QReductionProof (EQUIVALENT) 164.30/121.87 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 164.30/121.87 164.30/121.87 new_primMinusNatS0(x0) 164.30/121.87 new_primMinusNatS1 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (278) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (279) TransformationProof (EQUIVALENT) 164.30/121.87 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (280) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (281) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (282) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (283) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (284) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (285) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 164.30/121.87 164.30/121.87 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (286) 164.30/121.87 Obligation: 164.30/121.87 Q DP problem: 164.30/121.87 The TRS P consists of the following rules: 164.30/121.87 164.30/121.87 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.87 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.87 164.30/121.87 The TRS R consists of the following rules: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.87 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.87 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.87 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.87 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.87 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.87 new_esEs0(Pos(Zero)) -> True 164.30/121.87 164.30/121.87 The set Q consists of the following terms: 164.30/121.87 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.87 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.87 new_esEs0(Pos(Succ(x0))) 164.30/121.87 new_primMinusNatS2(Zero, Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.87 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.87 new_primModNatS02(x0, x1) 164.30/121.87 new_primModNatS1(Succ(Zero), Zero) 164.30/121.87 new_esEs0(Neg(Zero)) 164.30/121.87 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.87 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.87 new_esEs0(Pos(Zero)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.87 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.87 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.87 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.87 new_primModNatS1(Zero, x0) 164.30/121.87 new_esEs0(Neg(Succ(x0))) 164.30/121.87 164.30/121.87 We have to consider all minimal (P,Q,R)-chains. 164.30/121.87 ---------------------------------------- 164.30/121.87 164.30/121.87 (287) TransformationProof (EQUIVALENT) 164.30/121.87 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.87 164.30/121.87 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (288) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (289) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (290) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (291) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (292) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (293) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (294) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (295) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (296) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (297) DependencyGraphProof (EQUIVALENT) 164.30/121.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (298) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (299) TransformationProof (EQUIVALENT) 164.30/121.88 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (300) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (301) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (302) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (303) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (304) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (305) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (306) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (307) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (308) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (309) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (310) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (311) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (312) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (313) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (314) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (315) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (316) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (317) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (318) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (319) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (320) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (321) DependencyGraphProof (EQUIVALENT) 164.30/121.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (322) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (323) TransformationProof (EQUIVALENT) 164.30/121.88 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (324) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (325) DependencyGraphProof (EQUIVALENT) 164.30/121.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (326) 164.30/121.88 Complex Obligation (AND) 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (327) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (328) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (329) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (330) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (331) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (332) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (333) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (334) TransformationProof (EQUIVALENT) 164.30/121.88 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (335) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (336) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (337) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (338) TransformationProof (EQUIVALENT) 164.30/121.88 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (339) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (340) DependencyGraphProof (EQUIVALENT) 164.30/121.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (341) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (342) QDPOrderProof (EQUIVALENT) 164.30/121.88 We use the reduction pair processor [LPAR04,JAR06]. 164.30/121.88 164.30/121.88 164.30/121.88 The following pairs can be oriented strictly and are deleted. 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.30/121.88 The remaining pairs can at least be oriented weakly. 164.30/121.88 Used ordering: Polynomial interpretation [POLO]: 164.30/121.88 164.30/121.88 POL(False) = 0 164.30/121.88 POL(Pos(x_1)) = 2*x_1 164.30/121.88 POL(Succ(x_1)) = 1 + x_1 164.30/121.88 POL(True) = 3 164.30/121.88 POL(Zero) = 2 164.30/121.88 POL(new_esEs0(x_1)) = 0 164.30/121.88 POL(new_gcd0Gcd'00(x_1, x_2)) = 2 + x_1 + x_2 164.30/121.88 POL(new_gcd0Gcd'10(x_1, x_2, x_3)) = 2 + x_2 + x_3 164.30/121.88 POL(new_primMinusNatS2(x_1, x_2)) = x_1 164.30/121.88 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 164.30/121.88 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 164.30/121.88 POL(new_primModNatS1(x_1, x_2)) = x_1 164.30/121.88 164.30/121.88 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 164.30/121.88 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (343) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (344) DependencyGraphProof (EQUIVALENT) 164.30/121.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (345) 164.30/121.88 TRUE 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (346) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (347) TransformationProof (EQUIVALENT) 164.30/121.88 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (348) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (349) DependencyGraphProof (EQUIVALENT) 164.30/121.88 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (350) 164.30/121.88 Complex Obligation (AND) 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (351) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.88 new_esEs0(Neg(Zero)) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.88 new_esEs0(Pos(Zero)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.88 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.88 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.88 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.88 new_primModNatS1(Zero, x0) 164.30/121.88 new_esEs0(Neg(Succ(x0))) 164.30/121.88 164.30/121.88 We have to consider all minimal (P,Q,R)-chains. 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (352) TransformationProof (EQUIVALENT) 164.30/121.88 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.30/121.88 164.30/121.88 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 164.30/121.88 164.30/121.88 164.30/121.88 ---------------------------------------- 164.30/121.88 164.30/121.88 (353) 164.30/121.88 Obligation: 164.30/121.88 Q DP problem: 164.30/121.88 The TRS P consists of the following rules: 164.30/121.88 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.88 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.88 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 164.30/121.88 164.30/121.88 The TRS R consists of the following rules: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.88 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.88 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.88 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.88 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.88 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.88 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.88 new_esEs0(Pos(Zero)) -> True 164.30/121.88 164.30/121.88 The set Q consists of the following terms: 164.30/121.88 164.30/121.88 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.88 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.88 new_esEs0(Pos(Succ(x0))) 164.30/121.88 new_primMinusNatS2(Zero, Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.88 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.88 new_primModNatS02(x0, x1) 164.30/121.88 new_primModNatS1(Succ(Zero), Zero) 164.30/121.89 new_esEs0(Neg(Zero)) 164.30/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.89 new_esEs0(Pos(Zero)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.89 new_primModNatS1(Zero, x0) 164.30/121.89 new_esEs0(Neg(Succ(x0))) 164.30/121.89 164.30/121.89 We have to consider all minimal (P,Q,R)-chains. 164.30/121.89 ---------------------------------------- 164.30/121.89 164.30/121.89 (354) TransformationProof (EQUIVALENT) 164.30/121.89 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.89 164.30/121.89 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 164.30/121.89 164.30/121.89 164.30/121.89 ---------------------------------------- 164.30/121.89 164.30/121.89 (355) 164.30/121.89 Obligation: 164.30/121.89 Q DP problem: 164.30/121.89 The TRS P consists of the following rules: 164.30/121.89 164.30/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 164.30/121.89 164.30/121.89 The TRS R consists of the following rules: 164.30/121.89 164.30/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.89 new_esEs0(Pos(Zero)) -> True 164.30/121.89 164.30/121.89 The set Q consists of the following terms: 164.30/121.89 164.30/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.89 new_esEs0(Pos(Succ(x0))) 164.30/121.89 new_primMinusNatS2(Zero, Zero) 164.30/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.89 new_primModNatS02(x0, x1) 164.30/121.89 new_primModNatS1(Succ(Zero), Zero) 164.30/121.89 new_esEs0(Neg(Zero)) 164.30/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.89 new_esEs0(Pos(Zero)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.89 new_primModNatS1(Zero, x0) 164.30/121.89 new_esEs0(Neg(Succ(x0))) 164.30/121.89 164.30/121.89 We have to consider all minimal (P,Q,R)-chains. 164.30/121.89 ---------------------------------------- 164.30/121.89 164.30/121.89 (356) TransformationProof (EQUIVALENT) 164.30/121.89 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.89 164.30/121.89 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 164.30/121.89 164.30/121.89 164.30/121.89 ---------------------------------------- 164.30/121.89 164.30/121.89 (357) 164.30/121.89 Obligation: 164.30/121.89 Q DP problem: 164.30/121.89 The TRS P consists of the following rules: 164.30/121.89 164.30/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 164.30/121.89 164.30/121.89 The TRS R consists of the following rules: 164.30/121.89 164.30/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.89 new_esEs0(Pos(Zero)) -> True 164.30/121.89 164.30/121.89 The set Q consists of the following terms: 164.30/121.89 164.30/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.89 new_esEs0(Pos(Succ(x0))) 164.30/121.89 new_primMinusNatS2(Zero, Zero) 164.30/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.89 new_primModNatS02(x0, x1) 164.30/121.89 new_primModNatS1(Succ(Zero), Zero) 164.30/121.89 new_esEs0(Neg(Zero)) 164.30/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.89 new_esEs0(Pos(Zero)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.89 new_primModNatS1(Zero, x0) 164.30/121.89 new_esEs0(Neg(Succ(x0))) 164.30/121.89 164.30/121.89 We have to consider all minimal (P,Q,R)-chains. 164.30/121.89 ---------------------------------------- 164.30/121.89 164.30/121.89 (358) TransformationProof (EQUIVALENT) 164.30/121.89 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.30/121.89 164.30/121.89 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 164.30/121.89 164.30/121.89 164.30/121.89 ---------------------------------------- 164.30/121.89 164.30/121.89 (359) 164.30/121.89 Obligation: 164.30/121.89 Q DP problem: 164.30/121.89 The TRS P consists of the following rules: 164.30/121.89 164.30/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.30/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.30/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.30/121.89 164.30/121.89 The TRS R consists of the following rules: 164.30/121.89 164.30/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.30/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.30/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.30/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.30/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.30/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.30/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.30/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.30/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.30/121.89 new_esEs0(Pos(Zero)) -> True 164.30/121.89 164.30/121.89 The set Q consists of the following terms: 164.30/121.89 164.30/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.30/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.30/121.89 new_esEs0(Pos(Succ(x0))) 164.30/121.89 new_primMinusNatS2(Zero, Zero) 164.30/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.30/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.30/121.89 new_primModNatS02(x0, x1) 164.30/121.89 new_primModNatS1(Succ(Zero), Zero) 164.30/121.89 new_esEs0(Neg(Zero)) 164.30/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.30/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.30/121.89 new_esEs0(Pos(Zero)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.30/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.30/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.30/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.30/121.89 new_primModNatS1(Zero, x0) 164.30/121.89 new_esEs0(Neg(Succ(x0))) 164.30/121.89 164.30/121.89 We have to consider all minimal (P,Q,R)-chains. 164.30/121.89 ---------------------------------------- 164.30/121.89 164.30/121.89 (360) QReductionProof (EQUIVALENT) 164.30/121.89 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 164.30/121.89 164.30/121.89 new_esEs0(Neg(Zero)) 164.30/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (361) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 164.36/121.89 We have to consider all (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (362) InductionCalculusProof (EQUIVALENT) 164.36/121.89 Note that final constraints are written in bold face. 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 164.36/121.89 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: 164.36/121.89 164.36/121.89 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 164.36/121.89 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: 164.36/121.89 164.36/121.89 (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (2) (Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: 164.36/121.89 164.36/121.89 (3) (False=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (5) (new_primModNatS01(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 164.36/121.89 164.36/121.89 (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (7) (x25=x28 & x24=x29 & new_primModNatS01(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (8) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (7) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x25, x24, x28, x29)=Succ(x21) which results in the following new constraints: 164.36/121.89 164.36/121.89 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) 164.36/121.89 164.36/121.89 (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'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) 164.36/121.89 164.36/121.89 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) 164.36/121.89 164.36/121.89 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 164.36/121.89 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.36/121.89 164.36/121.89 (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 164.36/121.89 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.36/121.89 164.36/121.89 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 164.36/121.89 164.36/121.89 (3) (new_primModNatS01(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (5) (x48=x51 & x47=x52 & new_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 164.36/121.89 164.36/121.89 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x18)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x18)))) & 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'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 To summarize, we get the following constraints P__>=_ for the following pairs. 164.36/121.89 164.36/121.89 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (363) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (364) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (365) QReductionProof (EQUIVALENT) 164.36/121.89 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 164.36/121.89 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (366) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 164.36/121.89 We have to consider all (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (367) InductionCalculusProof (EQUIVALENT) 164.36/121.89 Note that final constraints are written in bold face. 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 164.36/121.89 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.36/121.89 164.36/121.89 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.36/121.89 164.36/121.89 (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'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 164.36/121.89 164.36/121.89 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.36/121.89 164.36/121.89 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x28), Succ(x27)), Succ(x27))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x28 & Succ(Succ(Zero))=x27 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (4) using rule (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x47 & Succ(Succ(Zero))=x46 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (11) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.36/121.89 164.36/121.89 (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'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(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)))))) 164.36/121.89 164.36/121.89 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 164.36/121.89 164.36/121.89 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (16) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(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)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (19) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.36/121.89 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 164.36/121.89 164.36/121.89 (1) (new_gcd0Gcd'10(new_esEs0(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'10(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (2) (Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs0(x52)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x52)=False which results in the following new constraint: 164.36/121.89 164.36/121.89 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.89 164.36/121.89 (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'00(Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (6) using rule (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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: 164.36/121.89 164.36/121.89 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 (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'00(Pos(Succ(Succ(Succ(Succ(Succ(x78)))))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.36/121.89 164.36/121.89 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.36/121.89 164.36/121.89 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (18) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 164.36/121.89 164.36/121.89 (21) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.89 164.36/121.89 (22) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 To summarize, we get the following constraints P__>=_ for the following pairs. 164.36/121.89 164.36/121.89 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'00(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)))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.36/121.89 164.36/121.89 164.36/121.89 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 164.36/121.89 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. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (368) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (369) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.36/121.89 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.36/121.89 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.36/121.89 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.36/121.89 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.36/121.89 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.36/121.89 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.36/121.89 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.36/121.89 new_error -> error([]) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primRemInt(Pos(x0), Neg(Zero)) 164.36/121.89 new_primRemInt(Neg(x0), Pos(Zero)) 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primRemInt(Neg(x0), Neg(Zero)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primRemInt(Pos(x0), Pos(Zero)) 164.36/121.89 new_error 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.36/121.89 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.36/121.89 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (370) UsableRulesProof (EQUIVALENT) 164.36/121.89 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. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (371) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primRemInt(Pos(x0), Neg(Zero)) 164.36/121.89 new_primRemInt(Neg(x0), Pos(Zero)) 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primRemInt(Neg(x0), Neg(Zero)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primRemInt(Pos(x0), Pos(Zero)) 164.36/121.89 new_error 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.36/121.89 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.36/121.89 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (372) QReductionProof (EQUIVALENT) 164.36/121.89 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 164.36/121.89 164.36/121.89 new_primRemInt(Pos(x0), Neg(Zero)) 164.36/121.89 new_primRemInt(Neg(x0), Pos(Zero)) 164.36/121.89 new_primRemInt(Neg(x0), Neg(Zero)) 164.36/121.89 new_primRemInt(Pos(x0), Pos(Zero)) 164.36/121.89 new_error 164.36/121.89 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.36/121.89 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.36/121.89 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.36/121.89 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (373) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (374) TransformationProof (EQUIVALENT) 164.36/121.89 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'00(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.89 164.36/121.89 (new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 164.36/121.89 (new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero))) 164.36/121.89 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.36/121.89 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.36/121.89 (new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (375) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'00(Neg(Succ(x0)), Pos(Zero)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (376) DependencyGraphProof (EQUIVALENT) 164.36/121.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (377) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (378) TransformationProof (EQUIVALENT) 164.36/121.89 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.89 164.36/121.89 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (379) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (380) TransformationProof (EQUIVALENT) 164.36/121.89 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.89 164.36/121.89 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (381) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (382) DependencyGraphProof (EQUIVALENT) 164.36/121.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (383) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (384) TransformationProof (EQUIVALENT) 164.36/121.89 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.89 164.36/121.89 (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 164.36/121.89 (new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) 164.36/121.89 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 164.36/121.89 (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 164.36/121.89 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (385) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (386) DependencyGraphProof (EQUIVALENT) 164.36/121.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (387) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (388) TransformationProof (EQUIVALENT) 164.36/121.89 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.89 164.36/121.89 (new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (389) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (390) TransformationProof (EQUIVALENT) 164.36/121.89 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.89 164.36/121.89 (new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (391) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (392) TransformationProof (EQUIVALENT) 164.36/121.89 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.89 164.36/121.89 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 164.36/121.89 (new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) 164.36/121.89 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 164.36/121.89 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 164.36/121.89 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 164.36/121.89 164.36/121.89 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (393) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.89 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.89 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.89 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.89 new_primMinusNatS1 -> Zero 164.36/121.89 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Neg(Zero)) -> True 164.36/121.89 164.36/121.89 The set Q consists of the following terms: 164.36/121.89 164.36/121.89 new_primMinusNatS0(x0) 164.36/121.89 new_primMinusNatS1 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.89 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.89 new_esEs0(Pos(Succ(x0))) 164.36/121.89 new_primMinusNatS2(Zero, Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.89 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.89 new_primModNatS02(x0, x1) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) 164.36/121.89 new_esEs0(Neg(Zero)) 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.89 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.89 new_esEs0(Pos(Zero)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.89 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.89 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.89 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.89 new_primModNatS1(Zero, x0) 164.36/121.89 new_esEs0(Neg(Succ(x0))) 164.36/121.89 164.36/121.89 We have to consider all minimal (P,Q,R)-chains. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (394) DependencyGraphProof (EQUIVALENT) 164.36/121.89 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.89 ---------------------------------------- 164.36/121.89 164.36/121.89 (395) 164.36/121.89 Obligation: 164.36/121.89 Q DP problem: 164.36/121.89 The TRS P consists of the following rules: 164.36/121.89 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.89 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 164.36/121.89 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.89 164.36/121.89 The TRS R consists of the following rules: 164.36/121.89 164.36/121.89 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.89 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.89 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.89 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.89 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.89 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.89 new_esEs0(Pos(Zero)) -> True 164.36/121.89 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.89 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (396) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (397) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (398) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (399) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (400) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (401) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (402) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (403) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (404) DependencyGraphProof (EQUIVALENT) 164.36/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (405) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (406) TransformationProof (EQUIVALENT) 164.36/121.90 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (407) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (408) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (409) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (410) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (411) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (412) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (413) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (414) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (415) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (416) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (417) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (418) DependencyGraphProof (EQUIVALENT) 164.36/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (419) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (420) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (421) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (422) TransformationProof (EQUIVALENT) 164.36/121.90 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'00(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 164.36/121.90 (new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero))) 164.36/121.90 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.36/121.90 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.36/121.90 (new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (423) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'00(Pos(Succ(x0)), Neg(Zero)) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (424) DependencyGraphProof (EQUIVALENT) 164.36/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (425) 164.36/121.90 Complex Obligation (AND) 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (426) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (427) UsableRulesProof (EQUIVALENT) 164.36/121.90 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. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (428) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (429) QReductionProof (EQUIVALENT) 164.36/121.90 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 164.36/121.90 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.90 new_primModNatS02(x0, x1) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.90 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.90 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.90 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (430) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (431) TransformationProof (EQUIVALENT) 164.36/121.90 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (432) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (433) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (434) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (435) DependencyGraphProof (EQUIVALENT) 164.36/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (436) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (437) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (438) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (439) TransformationProof (EQUIVALENT) 164.36/121.90 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) 164.36/121.90 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (440) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (441) DependencyGraphProof (EQUIVALENT) 164.36/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (442) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (443) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (444) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (445) TransformationProof (EQUIVALENT) 164.36/121.90 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (446) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (447) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (448) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (449) DependencyGraphProof (EQUIVALENT) 164.36/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (450) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (451) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (452) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (453) TransformationProof (EQUIVALENT) 164.36/121.90 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.90 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (454) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (455) DependencyGraphProof (EQUIVALENT) 164.36/121.90 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (456) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (457) TransformationProof (EQUIVALENT) 164.36/121.90 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.90 164.36/121.90 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 164.36/121.90 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (458) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) 164.36/121.90 new_esEs0(Neg(Zero)) 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.90 new_esEs0(Pos(Zero)) 164.36/121.90 new_primModNatS1(Zero, x0) 164.36/121.90 new_esEs0(Neg(Succ(x0))) 164.36/121.90 164.36/121.90 We have to consider all minimal (P,Q,R)-chains. 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (459) QDPSizeChangeProof (EQUIVALENT) 164.36/121.90 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 164.36/121.90 164.36/121.90 Order:Polynomial interpretation [POLO]: 164.36/121.90 164.36/121.90 POL(False) = 1 164.36/121.90 POL(Neg(x_1)) = 1 164.36/121.90 POL(Pos(x_1)) = x_1 164.36/121.90 POL(Succ(x_1)) = 1 + x_1 164.36/121.90 POL(Zero) = 1 164.36/121.90 POL(new_primMinusNatS0(x_1)) = 1 + x_1 164.36/121.90 POL(new_primMinusNatS1) = 1 164.36/121.90 POL(new_primModNatS1(x_1, x_2)) = x_1 164.36/121.90 164.36/121.90 164.36/121.90 164.36/121.90 164.36/121.90 From the DPs we obtained the following set of size-change graphs: 164.36/121.90 *new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 164.36/121.90 The graph contains the following edges 2 >= 2, 1 >= 3 164.36/121.90 164.36/121.90 164.36/121.90 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 164.36/121.90 The graph contains the following edges 2 >= 2, 1 >= 3 164.36/121.90 164.36/121.90 164.36/121.90 *new_gcd0Gcd'10(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 164.36/121.90 The graph contains the following edges 2 >= 1, 3 >= 2 164.36/121.90 164.36/121.90 164.36/121.90 *new_gcd0Gcd'10(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 164.36/121.90 The graph contains the following edges 2 >= 1, 3 > 2 164.36/121.90 164.36/121.90 164.36/121.90 164.36/121.90 We oriented the following set of usable rules [AAECC05,FROCOS05]. 164.36/121.90 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (460) 164.36/121.90 YES 164.36/121.90 164.36/121.90 ---------------------------------------- 164.36/121.90 164.36/121.90 (461) 164.36/121.90 Obligation: 164.36/121.90 Q DP problem: 164.36/121.90 The TRS P consists of the following rules: 164.36/121.90 164.36/121.90 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.90 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.90 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.90 164.36/121.90 The TRS R consists of the following rules: 164.36/121.90 164.36/121.90 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.90 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.90 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.90 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.90 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.90 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Pos(Zero)) -> True 164.36/121.90 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.90 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.90 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.90 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.90 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.90 new_primMinusNatS1 -> Zero 164.36/121.90 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.90 new_esEs0(Neg(Zero)) -> True 164.36/121.90 164.36/121.90 The set Q consists of the following terms: 164.36/121.90 164.36/121.90 new_primMinusNatS0(x0) 164.36/121.90 new_primMinusNatS1 164.36/121.90 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.90 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.90 new_esEs0(Pos(Succ(x0))) 164.36/121.90 new_primMinusNatS2(Zero, Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.90 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (462) UsableRulesProof (EQUIVALENT) 164.36/121.91 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. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (463) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (464) QReductionProof (EQUIVALENT) 164.36/121.91 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 164.36/121.91 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (465) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (466) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (467) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (468) TransformationProof (EQUIVALENT) 164.36/121.91 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (469) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (470) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (471) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (472) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (473) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (474) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (475) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (476) DependencyGraphProof (EQUIVALENT) 164.36/121.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (477) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (478) TransformationProof (EQUIVALENT) 164.36/121.91 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (479) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (480) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (481) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (482) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (483) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (484) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (485) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (486) DependencyGraphProof (EQUIVALENT) 164.36/121.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (487) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (488) TransformationProof (EQUIVALENT) 164.36/121.91 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (489) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (490) DependencyGraphProof (EQUIVALENT) 164.36/121.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (491) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (492) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (493) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (494) TransformationProof (EQUIVALENT) 164.36/121.91 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (495) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (496) DependencyGraphProof (EQUIVALENT) 164.36/121.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (497) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (498) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (499) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (500) QDPSizeChangeProof (EQUIVALENT) 164.36/121.91 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 164.36/121.91 164.36/121.91 Order:Polynomial interpretation [POLO]: 164.36/121.91 164.36/121.91 POL(False) = 1 164.36/121.91 POL(Neg(x_1)) = x_1 164.36/121.91 POL(Pos(x_1)) = 1 164.36/121.91 POL(Succ(x_1)) = 1 + x_1 164.36/121.91 POL(Zero) = 1 164.36/121.91 POL(new_primMinusNatS0(x_1)) = 1 + x_1 164.36/121.91 POL(new_primMinusNatS1) = 1 164.36/121.91 POL(new_primModNatS1(x_1, x_2)) = x_1 164.36/121.91 164.36/121.91 164.36/121.91 164.36/121.91 164.36/121.91 From the DPs we obtained the following set of size-change graphs: 164.36/121.91 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 164.36/121.91 The graph contains the following edges 2 >= 2, 1 >= 3 164.36/121.91 164.36/121.91 164.36/121.91 *new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 164.36/121.91 The graph contains the following edges 2 >= 2, 1 >= 3 164.36/121.91 164.36/121.91 164.36/121.91 *new_gcd0Gcd'10(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 164.36/121.91 The graph contains the following edges 2 >= 1, 3 > 2 164.36/121.91 164.36/121.91 164.36/121.91 *new_gcd0Gcd'10(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 164.36/121.91 The graph contains the following edges 2 >= 1, 3 >= 2 164.36/121.91 164.36/121.91 164.36/121.91 164.36/121.91 We oriented the following set of usable rules [AAECC05,FROCOS05]. 164.36/121.91 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (501) 164.36/121.91 YES 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (502) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.36/121.91 new_primMinusNatS1 -> Zero 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (503) UsableRulesProof (EQUIVALENT) 164.36/121.91 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. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (504) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (505) QReductionProof (EQUIVALENT) 164.36/121.91 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 164.36/121.91 164.36/121.91 new_primMinusNatS0(x0) 164.36/121.91 new_primMinusNatS1 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (506) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (507) TransformationProof (EQUIVALENT) 164.36/121.91 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (508) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (509) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (510) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (511) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (512) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (513) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (514) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (515) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (516) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (517) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (518) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (519) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (520) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (521) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (522) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (523) DependencyGraphProof (EQUIVALENT) 164.36/121.91 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (524) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (525) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (526) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (527) TransformationProof (EQUIVALENT) 164.36/121.91 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (528) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (529) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (530) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.91 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 164.36/121.91 164.36/121.91 The TRS R consists of the following rules: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.91 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.91 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.91 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.91 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.91 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.91 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Pos(Zero)) -> True 164.36/121.91 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.91 new_esEs0(Neg(Zero)) -> True 164.36/121.91 164.36/121.91 The set Q consists of the following terms: 164.36/121.91 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.91 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.91 new_esEs0(Pos(Succ(x0))) 164.36/121.91 new_primMinusNatS2(Zero, Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.91 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.91 new_primModNatS02(x0, x1) 164.36/121.91 new_primModNatS1(Succ(Zero), Zero) 164.36/121.91 new_esEs0(Neg(Zero)) 164.36/121.91 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.91 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.91 new_esEs0(Pos(Zero)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.91 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.91 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.91 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.91 new_primModNatS1(Zero, x0) 164.36/121.91 new_esEs0(Neg(Succ(x0))) 164.36/121.91 164.36/121.91 We have to consider all minimal (P,Q,R)-chains. 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (531) TransformationProof (EQUIVALENT) 164.36/121.91 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.91 164.36/121.91 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 164.36/121.91 164.36/121.91 164.36/121.91 ---------------------------------------- 164.36/121.91 164.36/121.91 (532) 164.36/121.91 Obligation: 164.36/121.91 Q DP problem: 164.36/121.91 The TRS P consists of the following rules: 164.36/121.91 164.36/121.91 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (533) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (534) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (535) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (536) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (537) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (538) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (539) DependencyGraphProof (EQUIVALENT) 164.36/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (540) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (541) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (542) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (543) TransformationProof (EQUIVALENT) 164.36/121.92 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (544) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (545) DependencyGraphProof (EQUIVALENT) 164.36/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (546) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (547) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (548) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (549) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (550) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (551) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (552) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (553) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (554) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (555) TransformationProof (EQUIVALENT) 164.36/121.92 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 164.36/121.92 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (556) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (557) DependencyGraphProof (EQUIVALENT) 164.36/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (558) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (559) TransformationProof (EQUIVALENT) 164.36/121.92 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 164.36/121.92 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (560) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (561) DependencyGraphProof (EQUIVALENT) 164.36/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (562) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (563) TransformationProof (EQUIVALENT) 164.36/121.92 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (564) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (565) DependencyGraphProof (EQUIVALENT) 164.36/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (566) 164.36/121.92 Complex Obligation (AND) 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (567) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 new_esEs0(Neg(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Neg(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (568) UsableRulesProof (EQUIVALENT) 164.36/121.92 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (569) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (570) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (571) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (572) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (573) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (574) TransformationProof (EQUIVALENT) 164.36/121.92 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (575) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (576) TransformationProof (EQUIVALENT) 164.36/121.92 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 164.36/121.92 (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (577) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (578) DependencyGraphProof (EQUIVALENT) 164.36/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (579) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (580) TransformationProof (EQUIVALENT) 164.36/121.92 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.36/121.92 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 164.36/121.92 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 164.36/121.92 164.36/121.92 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (581) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (582) DependencyGraphProof (EQUIVALENT) 164.36/121.92 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (583) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.36/121.92 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.36/121.92 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.36/121.92 new_primModNatS1(Zero, vuz7400) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Zero) -> Zero 164.36/121.92 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.36/121.92 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.36/121.92 new_esEs0(Pos(Succ(vuz2500))) -> False 164.36/121.92 new_esEs0(Pos(Zero)) -> True 164.36/121.92 164.36/121.92 The set Q consists of the following terms: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Zero) 164.36/121.92 new_primMinusNatS2(Succ(x0), Zero) 164.36/121.92 new_esEs0(Pos(Succ(x0))) 164.36/121.92 new_primMinusNatS2(Zero, Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.36/121.92 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.36/121.92 new_primModNatS02(x0, x1) 164.36/121.92 new_primModNatS1(Succ(Zero), Zero) 164.36/121.92 new_esEs0(Neg(Zero)) 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(x0)) 164.36/121.92 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.36/121.92 new_esEs0(Pos(Zero)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.36/121.92 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.36/121.92 new_primMinusNatS2(Zero, Succ(x0)) 164.36/121.92 new_primModNatS01(x0, x1, Zero, Zero) 164.36/121.92 new_primModNatS1(Zero, x0) 164.36/121.92 new_esEs0(Neg(Succ(x0))) 164.36/121.92 164.36/121.92 We have to consider all minimal (P,Q,R)-chains. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (584) InductionCalculusProof (EQUIVALENT) 164.36/121.92 Note that final constraints are written in bold face. 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 164.36/121.92 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x2, Zero, x2, Zero))) which results in the following constraint: 164.36/121.92 164.36/121.92 (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (2) (Pos(new_primModNatS01(x1, Zero, x1, Zero))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: 164.36/121.92 164.36/121.92 (3) (False=False & Pos(new_primModNatS01(x1, Zero, x1, Zero))=Pos(Succ(x21)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (4) (Zero=x22 & x1=x23 & Zero=x24 & new_primModNatS01(x1, x22, x23, x24)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (5) (new_primModNatS02(x26, x25)=Succ(x21) & Zero=x25 & x26=Zero & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x26, Zero, x26, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x26))))))) 164.36/121.92 164.36/121.92 (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'00(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) 164.36/121.92 164.36/121.92 (7) (new_primModNatS02(x34, x33)=Succ(x21) & Zero=x33 & x34=Succ(x32) & Zero=Zero ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x34, Zero, x34, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x34))))))) 164.36/121.92 164.36/121.92 (8) (Succ(Succ(x37))=Succ(x21) & Zero=x36 & x37=Zero & Zero=Succ(x35) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x37, Zero, x37, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x37))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (9) (Zero=x38 & new_primModNatS02(x38, x25)=Succ(x21) & Zero=x25 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (10) (Succ(x32)=x45 & new_primModNatS02(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x40), Succ(x39)), Succ(x39))=Succ(x21) & Zero=x40 & Zero=x39 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (12) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Succ(x32)=x47 & Zero=x46 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 164.36/121.92 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero))), new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 164.36/121.92 164.36/121.92 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))=new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (2) (Zero=x52 & x7=x53 & Zero=x54 & new_primModNatS01(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (3) (new_primModNatS02(x56, x55)=Succ(Succ(Succ(x8))) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x56))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x56, Zero, x56, Zero)))) 164.36/121.92 164.36/121.92 (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'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) 164.36/121.92 164.36/121.92 (5) (new_primModNatS02(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x64, Zero, x64, Zero)))) 164.36/121.92 164.36/121.92 (6) (Succ(Succ(x67))=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x67, Zero, x67, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (7) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) & Zero=x55 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (8) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(Succ(Succ(x8))) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 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: 164.36/121.92 164.36/121.92 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 164.36/121.92 164.36/121.92 (12) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 164.36/121.92 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 164.36/121.92 164.36/121.92 (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.36/121.92 164.36/121.92 (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 164.36/121.92 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x16, Zero, x16, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: 164.36/121.92 164.36/121.92 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.36/121.92 164.36/121.92 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 To summarize, we get the following constraints P__>=_ for the following pairs. 164.36/121.92 164.36/121.92 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.92 164.36/121.92 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.36/121.92 164.36/121.92 164.36/121.92 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 164.36/121.92 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 *new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 *(new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 164.36/121.92 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 164.36/121.92 ---------------------------------------- 164.36/121.92 164.36/121.92 (585) 164.36/121.92 Obligation: 164.36/121.92 Q DP problem: 164.36/121.92 The TRS P consists of the following rules: 164.36/121.92 164.36/121.92 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 164.36/121.92 new_gcd0Gcd'10(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 164.36/121.92 new_gcd0Gcd'00(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 164.36/121.92 164.36/121.92 The TRS R consists of the following rules: 164.36/121.92 164.36/121.92 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (586) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (587) UsableRulesProof (EQUIVALENT) 164.44/121.93 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. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (588) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (589) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (590) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (591) UsableRulesProof (EQUIVALENT) 164.44/121.93 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. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (592) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (593) InductionCalculusProof (EQUIVALENT) 164.44/121.93 Note that final constraints are written in bold face. 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 164.44/121.93 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero))), new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 164.44/121.93 164.44/121.93 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))=new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS01(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (3) (new_primModNatS02(x24, x23)=Succ(Succ(Succ(x4))) & Zero=x23 & x24=Zero & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x24))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x24, Zero, x24, Zero)))) 164.44/121.93 164.44/121.93 (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'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) 164.44/121.93 164.44/121.93 (5) (new_primModNatS02(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Succ(x30) & Zero=Zero ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x32, Zero, x32, Zero)))) 164.44/121.93 164.44/121.93 (6) (Succ(Succ(x35))=Succ(Succ(Succ(x4))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x35, Zero, x35, Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (7) (Zero=x36 & new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) & Zero=x23 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (8) (Succ(x30)=x43 & new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Zero=x38 & Zero=x37 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Succ(x30)=x45 & Zero=x44 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (12) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 164.44/121.93 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x8, Zero, x8, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 164.44/121.93 164.44/121.93 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.44/121.93 164.44/121.93 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 164.44/121.93 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x11, Zero, x11, Zero))) which results in the following constraint: 164.44/121.93 164.44/121.93 (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (2) (Neg(new_primModNatS01(x10, Zero, x10, Zero))=x50 & new_esEs0(x50)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x50)=False which results in the following new constraint: 164.44/121.93 164.44/121.93 (3) (False=False & Neg(new_primModNatS01(x10, Zero, x10, Zero))=Neg(Succ(x51)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (4) (Zero=x52 & x10=x53 & Zero=x54 & new_primModNatS01(x10, x52, x53, x54)=Succ(x51) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (5) (new_primModNatS02(x56, x55)=Succ(x51) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x56))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x56, Zero, x56, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x56))))))) 164.44/121.93 164.44/121.93 (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'00(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) 164.44/121.93 164.44/121.93 (7) (new_primModNatS02(x64, x63)=Succ(x51) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x64, Zero, x64, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x64))))))) 164.44/121.93 164.44/121.93 (8) (Succ(Succ(x67))=Succ(x51) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x67))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x67, Zero, x67, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (9) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(x51) & Zero=x55 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (10) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(x51) & Zero=x63 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x51) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (12) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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: 164.44/121.93 164.44/121.93 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(x51) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.93 164.44/121.93 (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 164.44/121.93 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 164.44/121.93 164.44/121.93 (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.93 164.44/121.93 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 To summarize, we get the following constraints P__>=_ for the following pairs. 164.44/121.93 164.44/121.93 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.44/121.93 164.44/121.93 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 164.44/121.93 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.44/121.93 164.44/121.93 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.93 164.44/121.93 164.44/121.93 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 *new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 164.44/121.93 *(new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 164.44/121.93 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. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (594) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (595) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (596) TransformationProof (EQUIVALENT) 164.44/121.93 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (597) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (598) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (599) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (600) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (601) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (602) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (603) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (604) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (605) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (606) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (607) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (608) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (609) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (610) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (611) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (612) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (613) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (614) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (615) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (616) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (617) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (618) DependencyGraphProof (EQUIVALENT) 164.44/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (619) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (620) TransformationProof (EQUIVALENT) 164.44/121.93 By narrowing [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (621) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (622) DependencyGraphProof (EQUIVALENT) 164.44/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (623) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (624) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (625) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (626) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(new_esEs0(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (627) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (628) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (629) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (630) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (631) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (632) TransformationProof (EQUIVALENT) 164.44/121.93 By rewriting [LPAR04] the rule new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (633) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (634) TransformationProof (EQUIVALENT) 164.44/121.93 By narrowing [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'00(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]: 164.44/121.93 164.44/121.93 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 164.44/121.93 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 164.44/121.93 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 164.44/121.93 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.93 164.44/121.93 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (635) 164.44/121.93 Obligation: 164.44/121.93 Q DP problem: 164.44/121.93 The TRS P consists of the following rules: 164.44/121.93 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.93 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.44/121.93 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.93 164.44/121.93 The TRS R consists of the following rules: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.93 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.93 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.93 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.93 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.93 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.93 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Pos(Zero)) -> True 164.44/121.93 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.93 new_esEs0(Neg(Zero)) -> True 164.44/121.93 164.44/121.93 The set Q consists of the following terms: 164.44/121.93 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.93 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.93 new_esEs0(Pos(Succ(x0))) 164.44/121.93 new_primMinusNatS2(Zero, Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.93 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.93 new_primModNatS02(x0, x1) 164.44/121.93 new_primModNatS1(Succ(Zero), Zero) 164.44/121.93 new_esEs0(Neg(Zero)) 164.44/121.93 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.93 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.93 new_esEs0(Pos(Zero)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.93 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.93 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.93 new_primModNatS1(Zero, x0) 164.44/121.93 new_esEs0(Neg(Succ(x0))) 164.44/121.93 164.44/121.93 We have to consider all minimal (P,Q,R)-chains. 164.44/121.93 ---------------------------------------- 164.44/121.93 164.44/121.93 (636) DependencyGraphProof (EQUIVALENT) 164.44/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 164.44/121.93 ---------------------------------------- 164.44/121.94 164.44/121.94 (637) 164.44/121.94 Complex Obligation (AND) 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (638) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Pos(Zero)) -> True 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (639) UsableRulesProof (EQUIVALENT) 164.44/121.94 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (640) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Pos(Zero)) -> True 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (641) InductionCalculusProof (EQUIVALENT) 164.44/121.94 Note that final constraints are written in bold face. 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: 164.44/121.94 164.44/121.94 (3) (False=False & Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 (6) (new_primModNatS01(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (7) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (8) (x26=x28 & x25=x29 & new_primModNatS01(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) 164.44/121.94 164.44/121.94 (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'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) 164.44/121.94 164.44/121.94 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) 164.44/121.94 164.44/121.94 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (4) (new_primModNatS01(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (5) (x49=x51 & x48=x52 & new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (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'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 To summarize, we get the following constraints P__>=_ for the following pairs. 164.44/121.94 164.44/121.94 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (642) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Pos(Zero)) -> True 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (643) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Pos(Zero)) -> True 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (644) UsableRulesProof (EQUIVALENT) 164.44/121.94 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (645) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (646) TransformationProof (EQUIVALENT) 164.44/121.94 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 164.44/121.94 164.44/121.94 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (647) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (648) TransformationProof (EQUIVALENT) 164.44/121.94 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.44/121.94 164.44/121.94 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (649) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (650) TransformationProof (EQUIVALENT) 164.44/121.94 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.44/121.94 164.44/121.94 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (651) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (652) TransformationProof (EQUIVALENT) 164.44/121.94 By rewriting [LPAR04] the rule new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 164.44/121.94 164.44/121.94 (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (653) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (654) InductionCalculusProof (EQUIVALENT) 164.44/121.94 Note that final constraints are written in bold face. 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs0(x20)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x20)=False which results in the following new constraint: 164.44/121.94 164.44/121.94 (3) (False=False & Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 (6) (new_primModNatS01(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (7) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (8) (x26=x28 & x25=x29 & new_primModNatS01(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x26)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x26)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) 164.44/121.94 164.44/121.94 (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'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) 164.44/121.94 164.44/121.94 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) 164.44/121.94 164.44/121.94 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (4) (new_primModNatS01(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (5) (x49=x51 & x48=x52 & new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (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'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 To summarize, we get the following constraints P__>=_ for the following pairs. 164.44/121.94 164.44/121.94 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (655) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (656) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Pos(Zero)) -> True 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (657) InductionCalculusProof (EQUIVALENT) 164.44/121.94 Note that final constraints are written in bold face. 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS01(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (3) (new_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x43 & Succ(Succ(Zero))=x42 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 (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'10(False, Pos(Succ(Succ(Succ(Succ(x44))))), Neg(Succ(Succ(Succ(Succ(x45))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x44))))), Neg(new_primModNatS01(Succ(Succ(x45)), Succ(Succ(x44)), x45, x44)))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) 164.44/121.94 164.44/121.94 (5) (new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 164.44/121.94 164.44/121.94 (6) (Succ(Succ(x54))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x54 & Succ(Succ(Succ(x52)))=x53 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x56), Succ(x55)), Succ(x55))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x56 & Succ(Succ(Zero))=x55 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (4) using rule (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (8) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x75), Succ(x74)), Succ(x74))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x75 & Succ(Succ(Zero))=x74 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (10) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (11) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (12) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x62 & Succ(Succ(Succ(Zero)))=x61 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.44/121.94 164.44/121.94 (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'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x64))), Succ(Succ(Succ(x63))), Succ(x64), Succ(x63))))) ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 (14) (new_primModNatS02(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x68))))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 164.44/121.94 164.44/121.94 (15) (Succ(Succ(x73))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x73 & Succ(Succ(Succ(Succ(x71))))=x72 ==> new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (16) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (17) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (18) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (19) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (20) (new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.44/121.94 *We consider the chain new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'10(new_esEs0(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'10(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & new_esEs0(x80)=False ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x80)=False which results in the following new constraints: 164.44/121.94 164.44/121.94 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x81)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 164.44/121.94 164.44/121.94 (4) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x82)) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (5) (Succ(Succ(x14))=x83 & Succ(Succ(x15))=x84 & new_primModNatS01(x83, x84, x14, x15)=Succ(x81) ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (6) (new_primModNatS02(x86, x85)=Succ(x81) & Succ(Succ(Zero))=x86 & Succ(Succ(Zero))=x85 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 (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'00(Pos(Succ(Succ(Succ(Succ(x88))))), Neg(Succ(Succ(Succ(Succ(x87))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 (8) (new_primModNatS02(x94, x93)=Succ(x81) & Succ(Succ(Succ(x92)))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 (9) (Succ(Succ(x97))=Succ(x81) & Succ(Succ(Zero))=x97 & Succ(Succ(Succ(x95)))=x96 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x99), Succ(x98)), Succ(x98))=Succ(x81) & Succ(Succ(Zero))=x99 & Succ(Succ(Zero))=x98 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (7) using rule (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (11) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x118), Succ(x117)), Succ(x117))=Succ(x81) & Succ(Succ(Succ(x92)))=x118 & Succ(Succ(Zero))=x117 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (13) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (14) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (15) (new_primModNatS02(x105, x104)=Succ(x81) & Succ(Succ(Succ(Zero)))=x105 & Succ(Succ(Succ(Zero)))=x104 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 (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'00(Pos(Succ(Succ(Succ(Succ(Succ(x107)))))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 (17) (new_primModNatS02(x113, x112)=Succ(x81) & Succ(Succ(Succ(Succ(x111))))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 (18) (Succ(Succ(x116))=Succ(x81) & Succ(Succ(Succ(Zero)))=x116 & Succ(Succ(Succ(Succ(x114))))=x115 ==> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (19) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (20) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (21) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (22) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (23) (new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 164.44/121.94 *We consider the chain new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26))), new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))=new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Succ(Succ(x27))=x123 & Succ(Succ(x26))=x124 & new_primModNatS01(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (3) (new_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x126 & Succ(Succ(Zero))=x125 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 (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'10(False, Neg(Succ(Succ(Succ(Succ(x127))))), Pos(Succ(Succ(Succ(Succ(x128))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x127))))), Pos(new_primModNatS01(Succ(Succ(x128)), Succ(Succ(x127)), x128, x127)))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) 164.44/121.94 164.44/121.94 (5) (new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x134 & Succ(Succ(Zero))=x133 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 164.44/121.94 164.44/121.94 (6) (Succ(Succ(x137))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x137 & Succ(Succ(Succ(x135)))=x136 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (7) (new_primModNatS1(new_primMinusNatS2(Succ(x139), Succ(x138)), Succ(x138))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x139 & Succ(Succ(Zero))=x138 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (4) using rule (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (8) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x158), Succ(x157)), Succ(x157))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x158 & Succ(Succ(Zero))=x157 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (10) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (11) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (12) (new_primModNatS02(x145, x144)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x145 & Succ(Succ(Succ(Zero)))=x144 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.44/121.94 164.44/121.94 (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'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(Succ(Succ(Succ(Succ(Succ(x147)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x147))), Succ(Succ(Succ(x146))), Succ(x147), Succ(x146))))) ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 (14) (new_primModNatS02(x153, x152)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x151))))=x153 & Succ(Succ(Succ(Zero)))=x152 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 164.44/121.94 164.44/121.94 (15) (Succ(Succ(x156))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x156 & Succ(Succ(Succ(Succ(x154))))=x155 ==> new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (16) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (17) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (18) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (19) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (20) (new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 For Pair new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(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: 164.44/121.94 *We consider the chain new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'10(new_esEs0(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'10(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(new_primModNatS01(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: 164.44/121.94 164.44/121.94 (1) (new_gcd0Gcd'10(new_esEs0(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'10(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (2) (Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x163 & new_esEs0(x163)=False ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs0(x163)=False which results in the following new constraints: 164.44/121.94 164.44/121.94 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x164)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 164.44/121.94 164.44/121.94 (4) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x165)) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (5) (Succ(Succ(x30))=x166 & Succ(Succ(x31))=x167 & new_primModNatS01(x166, x167, x30, x31)=Succ(x165) ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (6) (new_primModNatS02(x169, x168)=Succ(x165) & Succ(Succ(Zero))=x169 & Succ(Succ(Zero))=x168 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 (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'00(Neg(Succ(Succ(Succ(Succ(x171))))), Pos(Succ(Succ(Succ(Succ(x170))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 (8) (new_primModNatS02(x177, x176)=Succ(x165) & Succ(Succ(Succ(x175)))=x177 & Succ(Succ(Zero))=x176 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 (9) (Succ(Succ(x180))=Succ(x165) & Succ(Succ(Zero))=x180 & Succ(Succ(Succ(x178)))=x179 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x182), Succ(x181)), Succ(x181))=Succ(x165) & Succ(Succ(Zero))=x182 & Succ(Succ(Zero))=x181 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (7) using rule (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (11) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x201), Succ(x200)), Succ(x200))=Succ(x165) & Succ(Succ(Succ(x175)))=x201 & Succ(Succ(Zero))=x200 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (13) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (14) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 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: 164.44/121.94 164.44/121.94 (15) (new_primModNatS02(x188, x187)=Succ(x165) & Succ(Succ(Succ(Zero)))=x188 & Succ(Succ(Succ(Zero)))=x187 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 (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'00(Neg(Succ(Succ(Succ(Succ(Succ(x190)))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'10(new_esEs0(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'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 (17) (new_primModNatS02(x196, x195)=Succ(x165) & Succ(Succ(Succ(Succ(x194))))=x196 & Succ(Succ(Succ(Zero)))=x195 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 (18) (Succ(Succ(x199))=Succ(x165) & Succ(Succ(Succ(Zero)))=x199 & Succ(Succ(Succ(Succ(x197))))=x198 ==> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (19) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (20) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (21) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.94 164.44/121.94 (22) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 164.44/121.94 164.44/121.94 (23) (new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 To summarize, we get the following constraints P__>=_ for the following pairs. 164.44/121.94 164.44/121.94 *new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'00(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)))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 *new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'10(new_esEs0(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))))))))) 164.44/121.94 164.44/121.94 164.44/121.94 *(new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'10(new_esEs0(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)))))))) 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 164.44/121.94 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (658) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_gcd0Gcd'10(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.94 new_gcd0Gcd'00(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 new_gcd0Gcd'10(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 164.44/121.94 new_gcd0Gcd'00(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'10(new_esEs0(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.94 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.94 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_esEs0(Pos(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Pos(Zero)) -> True 164.44/121.94 new_esEs0(Neg(Succ(vuz2500))) -> False 164.44/121.94 new_esEs0(Neg(Zero)) -> True 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_esEs0(Pos(Succ(x0))) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.94 new_primModNatS02(x0, x1) 164.44/121.94 new_primModNatS1(Succ(Zero), Zero) 164.44/121.94 new_esEs0(Neg(Zero)) 164.44/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.94 new_esEs0(Pos(Zero)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.94 new_primModNatS1(Zero, x0) 164.44/121.94 new_esEs0(Neg(Succ(x0))) 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (659) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) 164.44/121.94 new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) 164.44/121.94 new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz32000), Zero) 164.44/121.94 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) 164.44/121.94 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) 164.44/121.94 new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) 164.44/121.94 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primMinusNatS1 -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primMinusNatS0(x0) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primMinusNatS1 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (660) DependencyGraphProof (EQUIVALENT) 164.44/121.94 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (661) 164.44/121.94 Complex Obligation (AND) 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (662) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz32000), Zero) 164.44/121.94 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primMinusNatS1 -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primMinusNatS0(x0) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primMinusNatS1 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (663) MRRProof (EQUIVALENT) 164.44/121.94 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. 164.44/121.94 164.44/121.94 Strictly oriented dependency pairs: 164.44/121.94 164.44/121.94 new_primDivNatS(Succ(Succ(vuz32000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz32000), Zero) 164.44/121.94 164.44/121.94 Strictly oriented rules of the TRS R: 164.44/121.94 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.94 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.94 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.94 164.44/121.94 Used ordering: Polynomial interpretation [POLO]: 164.44/121.94 164.44/121.94 POL(Succ(x_1)) = 1 + x_1 164.44/121.94 POL(Zero) = 2 164.44/121.94 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 164.44/121.94 POL(new_primMinusNatS0(x_1)) = 1 + x_1 164.44/121.94 POL(new_primMinusNatS1) = 2 164.44/121.94 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 164.44/121.94 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (664) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 P is empty. 164.44/121.94 The TRS R consists of the following rules: 164.44/121.94 164.44/121.94 new_primMinusNatS1 -> Zero 164.44/121.94 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.44/121.94 164.44/121.94 The set Q consists of the following terms: 164.44/121.94 164.44/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.94 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.94 new_primMinusNatS0(x0) 164.44/121.94 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.94 new_primMinusNatS2(Zero, Zero) 164.44/121.94 new_primMinusNatS1 164.44/121.94 164.44/121.94 We have to consider all minimal (P,Q,R)-chains. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (665) PisEmptyProof (EQUIVALENT) 164.44/121.94 The TRS P is empty. Hence, there is no (P,Q,R) chain. 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (666) 164.44/121.94 YES 164.44/121.94 164.44/121.94 ---------------------------------------- 164.44/121.94 164.44/121.94 (667) 164.44/121.94 Obligation: 164.44/121.94 Q DP problem: 164.44/121.94 The TRS P consists of the following rules: 164.44/121.94 164.44/121.94 new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) 164.44/121.94 new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) 164.44/121.94 new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) 164.44/121.95 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) 164.44/121.95 new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) 164.44/121.95 164.44/121.95 The TRS R consists of the following rules: 164.44/121.95 164.44/121.95 new_primMinusNatS1 -> Zero 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.44/121.95 164.44/121.95 The set Q consists of the following terms: 164.44/121.95 164.44/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.95 new_primMinusNatS0(x0) 164.44/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.95 new_primMinusNatS2(Zero, Zero) 164.44/121.95 new_primMinusNatS1 164.44/121.95 164.44/121.95 We have to consider all minimal (P,Q,R)-chains. 164.44/121.95 ---------------------------------------- 164.44/121.95 164.44/121.95 (668) QDPSizeChangeProof (EQUIVALENT) 164.44/121.95 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 164.44/121.95 164.44/121.95 Order:Polynomial interpretation [POLO]: 164.44/121.95 164.44/121.95 POL(Succ(x_1)) = 1 + x_1 164.44/121.95 POL(Zero) = 1 164.44/121.95 POL(new_primMinusNatS2(x_1, x_2)) = x_1 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 From the DPs we obtained the following set of size-change graphs: 164.44/121.95 *new_primDivNatS00(vuz97, vuz98) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) (allowed arguments on rhs = {1, 2}) 164.44/121.95 The graph contains the following edges 1 >= 1 164.44/121.95 164.44/121.95 164.44/121.95 *new_primDivNatS(Succ(Succ(vuz32000)), Succ(vuz65000)) -> new_primDivNatS0(vuz32000, vuz65000, vuz32000, vuz65000) (allowed arguments on rhs = {1, 2, 3, 4}) 164.44/121.95 The graph contains the following edges 1 > 1, 2 > 2, 1 > 3, 2 > 4 164.44/121.95 164.44/121.95 164.44/121.95 *new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Succ(vuz1000)) -> new_primDivNatS0(vuz97, vuz98, vuz990, vuz1000) (allowed arguments on rhs = {1, 2, 3, 4}) 164.44/121.95 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 164.44/121.95 164.44/121.95 164.44/121.95 *new_primDivNatS0(vuz97, vuz98, Zero, Zero) -> new_primDivNatS00(vuz97, vuz98) (allowed arguments on rhs = {1, 2}) 164.44/121.95 The graph contains the following edges 1 >= 1, 2 >= 2 164.44/121.95 164.44/121.95 164.44/121.95 *new_primDivNatS0(vuz97, vuz98, Succ(vuz990), Zero) -> new_primDivNatS(new_primMinusNatS2(vuz97, vuz98), Succ(vuz98)) (allowed arguments on rhs = {1, 2}) 164.44/121.95 The graph contains the following edges 1 >= 1 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We oriented the following set of usable rules [AAECC05,FROCOS05]. 164.44/121.95 164.44/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.95 164.44/121.95 ---------------------------------------- 164.44/121.95 164.44/121.95 (669) 164.44/121.95 YES 164.44/121.95 164.44/121.95 ---------------------------------------- 164.44/121.95 164.44/121.95 (670) 164.44/121.95 Obligation: 164.44/121.95 Q DP problem: 164.44/121.95 The TRS P consists of the following rules: 164.44/121.95 164.44/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.44/121.95 new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) 164.44/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.44/121.95 164.44/121.95 The TRS R consists of the following rules: 164.44/121.95 164.44/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.44/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.44/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.44/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.44/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.44/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.44/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.95 new_error -> error([]) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.44/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.44/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.44/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primMinusNatS1 -> Zero 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.44/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.44/121.95 164.44/121.95 The set Q consists of the following terms: 164.44/121.95 164.44/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.44/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.44/121.95 new_primMinusNatS0(x0) 164.44/121.95 new_primMinusNatS1 164.44/121.95 new_esEs(Integer(Pos(Zero))) 164.44/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.44/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.44/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.44/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.44/121.95 new_primMinusNatS2(Zero, Zero) 164.44/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.44/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.44/121.95 new_primModNatS02(x0, x1) 164.44/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.44/121.95 new_error 164.44/121.95 new_primModNatS1(Succ(Zero), Zero) 164.44/121.95 new_rem(Integer(x0), Integer(x1)) 164.44/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.44/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.44/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.44/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.44/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.44/121.95 new_esEs(Integer(Neg(Zero))) 164.44/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.44/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.44/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.44/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.44/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.44/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.44/121.95 new_primModNatS1(Zero, x0) 164.44/121.95 164.44/121.95 We have to consider all minimal (P,Q,R)-chains. 164.44/121.95 ---------------------------------------- 164.44/121.95 164.44/121.95 (671) MNOCProof (EQUIVALENT) 164.44/121.95 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 164.44/121.95 ---------------------------------------- 164.44/121.95 164.44/121.95 (672) 164.44/121.95 Obligation: 164.44/121.95 Q DP problem: 164.44/121.95 The TRS P consists of the following rules: 164.44/121.95 164.44/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.44/121.95 new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) 164.44/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.44/121.95 164.44/121.95 The TRS R consists of the following rules: 164.44/121.95 164.44/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.44/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.44/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.44/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.44/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.44/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.44/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.44/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.44/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.44/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.44/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.44/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.44/121.95 new_error -> error([]) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.44/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.44/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.44/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.44/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.44/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.44/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.44/121.95 new_primMinusNatS1 -> Zero 164.44/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.44/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.44/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.44/121.95 164.44/121.95 Q is empty. 164.44/121.95 We have to consider all (P,Q,R)-chains. 164.44/121.95 ---------------------------------------- 164.44/121.95 164.44/121.95 (673) InductionCalculusProof (EQUIVALENT) 164.44/121.95 Note that final constraints are written in bold face. 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 For Pair new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) the following chains were created: 164.44/121.95 *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'(x3, x2), new_gcd0Gcd'(x4, x5) -> new_gcd0Gcd'1(new_esEs(new_rem(x5, x4)), x4, x5) which results in the following constraint: 164.44/121.95 164.44/121.95 (1) (new_gcd0Gcd'(x3, x2)=new_gcd0Gcd'(x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (2) (new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 For Pair new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) the following chains were created: 164.44/121.95 *We consider the chain new_gcd0Gcd'(x12, x13) -> new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13), new_gcd0Gcd'1(False, x14, x15) -> new_gcd0Gcd'0(x14, new_rem(x15, x14)) which results in the following constraint: 164.44/121.95 164.44/121.95 (1) (new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)=new_gcd0Gcd'1(False, x14, x15) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.44/121.95 164.44/121.95 (2) (new_rem(x13, x12)=x24 & new_esEs(x24)=False ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x24)=False which results in the following new constraints: 164.44/121.95 164.44/121.95 (3) (False=False & new_rem(x13, x12)=Integer(Pos(Succ(x25))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) 164.44/121.95 164.44/121.95 (4) (False=False & new_rem(x13, x12)=Integer(Neg(Succ(x26))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 164.44/121.95 164.44/121.95 (5) (new_rem(x13, x12)=Integer(Pos(Succ(x25))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 164.44/121.95 164.44/121.95 (6) (new_rem(x13, x12)=Integer(Neg(Succ(x26))) ==> new_gcd0Gcd'(x12, x13)_>=_new_gcd0Gcd'1(new_esEs(new_rem(x13, x12)), x12, x13)) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_rem(x13, x12)=Integer(Pos(Succ(x25))) which results in the following new constraint: 164.44/121.95 164.44/121.95 (7) (Integer(new_primRemInt(x28, x27))=Integer(Pos(Succ(x25))) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x28), Integer(x27))), Integer(x27), Integer(x28))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 164.44/121.95 164.44/121.95 (8) (new_primRemInt(x28, x27)=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(x27), Integer(x28))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x28), Integer(x27))), Integer(x27), Integer(x28))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x28, x27)=Pos(Succ(x25)) which results in the following new constraints: 164.44/121.95 164.44/121.95 (9) (Pos(new_primModNatS1(x30, x29))=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x29))), Integer(Pos(x30)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x30)), Integer(Neg(Succ(x29))))), Integer(Neg(Succ(x29))), Integer(Pos(x30)))) 164.44/121.95 164.44/121.95 (10) (Pos(new_primModNatS1(x32, x31))=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x31))), Integer(Pos(x32)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x32)), Integer(Pos(Succ(x31))))), Integer(Pos(Succ(x31))), Integer(Pos(x32)))) 164.44/121.95 164.44/121.95 (11) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) 164.44/121.95 164.44/121.95 (12) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) 164.44/121.95 164.44/121.95 (13) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) 164.44/121.95 164.44/121.95 (14) (new_error=Pos(Succ(x25)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (15) (new_gcd0Gcd'(Integer(Neg(Succ(x29))), Integer(Pos(x30)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x30)), Integer(Neg(Succ(x29))))), Integer(Neg(Succ(x29))), Integer(Pos(x30)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (10) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (16) (new_gcd0Gcd'(Integer(Pos(Succ(x31))), Integer(Pos(x32)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x32)), Integer(Pos(Succ(x31))))), Integer(Pos(Succ(x31))), Integer(Pos(x32)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (11) using rule (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (17) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (12) using rule (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (18) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (13) using rule (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (19) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (14) using rule (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (20) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_rem(x13, x12)=Integer(Neg(Succ(x26))) which results in the following new constraint: 164.44/121.95 164.44/121.95 (21) (Integer(new_primRemInt(x42, x41))=Integer(Neg(Succ(x26))) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x42), Integer(x41))), Integer(x41), Integer(x42))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (21) using rules (I), (II) which results in the following new constraint: 164.44/121.95 164.44/121.95 (22) (new_primRemInt(x42, x41)=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(x41), Integer(x42))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(x42), Integer(x41))), Integer(x41), Integer(x42))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (22) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x42, x41)=Neg(Succ(x26)) which results in the following new constraints: 164.44/121.95 164.44/121.95 (23) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) 164.44/121.95 164.44/121.95 (24) (Neg(new_primModNatS1(x49, x48))=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Succ(x48))), Integer(Neg(x49)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x49)), Integer(Pos(Succ(x48))))), Integer(Pos(Succ(x48))), Integer(Neg(x49)))) 164.44/121.95 164.44/121.95 (25) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) 164.44/121.95 164.44/121.95 (26) (Neg(new_primModNatS1(x52, x51))=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Succ(x51))), Integer(Neg(x52)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x52)), Integer(Neg(Succ(x51))))), Integer(Neg(Succ(x51))), Integer(Neg(x52)))) 164.44/121.95 164.44/121.95 (27) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) 164.44/121.95 164.44/121.95 (28) (new_error=Neg(Succ(x26)) ==> new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x54)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x54)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x54)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (23) using rule (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (29) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (24) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (30) (new_gcd0Gcd'(Integer(Pos(Succ(x48))), Integer(Neg(x49)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x49)), Integer(Pos(Succ(x48))))), Integer(Pos(Succ(x48))), Integer(Neg(x49)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (25) using rule (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (31) (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (26) using rules (I), (II), (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (32) (new_gcd0Gcd'(Integer(Neg(Succ(x51))), Integer(Neg(x52)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x52)), Integer(Neg(Succ(x51))))), Integer(Neg(Succ(x51))), Integer(Neg(x52)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We simplified constraint (27) using rule (IV) which results in the following new constraint: 164.44/121.95 164.44/121.95 (33) (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 We solved constraint (28) using rule (IV). 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 164.44/121.95 For Pair new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) the following chains were created: 164.44/121.95 *We consider the chain new_gcd0Gcd'1(False, x16, x17) -> new_gcd0Gcd'0(x16, new_rem(x17, x16)), new_gcd0Gcd'0(x18, x19) -> new_gcd0Gcd'(x19, x18) which results in the following constraint: 164.48/121.95 164.48/121.95 (1) (new_gcd0Gcd'0(x16, new_rem(x17, x16))=new_gcd0Gcd'0(x18, x19) ==> new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/121.95 164.48/121.95 (2) (new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 To summarize, we get the following constraints P__>=_ for the following pairs. 164.48/121.95 164.48/121.95 *new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'(x3, x2)) 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 *new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Neg(Succ(x29))), Integer(Pos(x30)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x30)), Integer(Neg(Succ(x29))))), Integer(Neg(Succ(x29))), Integer(Pos(x30)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Pos(Succ(x31))), Integer(Pos(x32)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x32)), Integer(Pos(Succ(x31))))), Integer(Pos(Succ(x31))), Integer(Pos(x32)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x33)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x33)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x33)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x36)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x36)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x36)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x39)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x39)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x39)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x40)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x40)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Neg(x40)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x47)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x47)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Neg(x47)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Pos(Succ(x48))), Integer(Neg(x49)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x49)), Integer(Pos(Succ(x48))))), Integer(Pos(Succ(x48))), Integer(Neg(x49)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x50)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x50)), Integer(Pos(Zero)))), Integer(Pos(Zero)), Integer(Pos(x50)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Neg(Succ(x51))), Integer(Neg(x52)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Neg(x52)), Integer(Neg(Succ(x51))))), Integer(Neg(Succ(x51))), Integer(Neg(x52)))) 164.48/121.95 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x53)))_>=_new_gcd0Gcd'1(new_esEs(new_rem(Integer(Pos(x53)), Integer(Neg(Zero)))), Integer(Neg(Zero)), Integer(Pos(x53)))) 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 *new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 164.48/121.95 *(new_gcd0Gcd'1(False, x16, x17)_>=_new_gcd0Gcd'0(x16, new_rem(x17, x16))) 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 164.48/121.95 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. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (674) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (675) TransformationProof (EQUIVALENT) 164.48/121.95 By narrowing [LPAR04] the rule new_gcd0Gcd'(vuz102, vuz104) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz104, vuz102)), vuz102, vuz104) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)),new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (676) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (677) TransformationProof (EQUIVALENT) 164.48/121.95 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(x1), Integer(x0)) -> new_gcd0Gcd'1(new_esEs(Integer(new_primRemInt(x0, x1))), Integer(x1), Integer(x0)) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0)))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (678) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (679) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Neg(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0)))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (680) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Neg(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (681) DependencyGraphProof (EQUIVALENT) 164.48/121.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (682) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (683) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Pos(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0)))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (684) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Pos(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (685) DependencyGraphProof (EQUIVALENT) 164.48/121.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (686) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (687) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Neg(Zero)), Integer(Pos(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0))),new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0)))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (688) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Zero)), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Neg(Zero)), Integer(Pos(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (689) DependencyGraphProof (EQUIVALENT) 164.48/121.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (690) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (691) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(new_error)), Integer(Pos(Zero)), Integer(Neg(x0))) at position [0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0))),new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0)))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (692) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Zero)), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(error([]))), Integer(Pos(Zero)), Integer(Neg(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (693) DependencyGraphProof (EQUIVALENT) 164.48/121.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (694) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (695) TransformationProof (EQUIVALENT) 164.48/121.95 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero)))) 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (696) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(x0))), Integer(Pos(Zero))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (697) DependencyGraphProof (EQUIVALENT) 164.48/121.95 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (698) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (699) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (700) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (701) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (702) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (703) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (704) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.95 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.95 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primMinusNatS1 -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.95 164.48/121.95 The set Q consists of the following terms: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.95 new_primMinusNatS0(x0) 164.48/121.95 new_primMinusNatS1 164.48/121.95 new_esEs(Integer(Pos(Zero))) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.95 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.95 new_primModNatS02(x0, x1) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.95 new_error 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) 164.48/121.95 new_rem(Integer(x0), Integer(x1)) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.95 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.95 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.95 new_esEs(Integer(Neg(Zero))) 164.48/121.95 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.95 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.95 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.95 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.95 new_primModNatS1(Zero, x0) 164.48/121.95 164.48/121.95 We have to consider all minimal (P,Q,R)-chains. 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (705) TransformationProof (EQUIVALENT) 164.48/121.95 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.95 164.48/121.95 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero))))) 164.48/121.95 164.48/121.95 164.48/121.95 ---------------------------------------- 164.48/121.95 164.48/121.95 (706) 164.48/121.95 Obligation: 164.48/121.95 Q DP problem: 164.48/121.95 The TRS P consists of the following rules: 164.48/121.95 164.48/121.95 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.95 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.95 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.95 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.95 164.48/121.95 The TRS R consists of the following rules: 164.48/121.95 164.48/121.95 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.95 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.95 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.95 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.95 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.95 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.95 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.95 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.95 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.95 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.95 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.95 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.95 new_error -> error([]) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.95 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.95 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.95 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (707) DependencyGraphProof (EQUIVALENT) 164.48/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (708) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (709) TransformationProof (EQUIVALENT) 164.48/121.96 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Pos(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Pos(x0))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0)))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero)))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (710) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Pos(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(x0))), Integer(Pos(Zero))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (711) DependencyGraphProof (EQUIVALENT) 164.48/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (712) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (713) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0)))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (714) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (715) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (716) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (717) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (718) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (719) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (720) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (721) DependencyGraphProof (EQUIVALENT) 164.48/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (722) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (723) TransformationProof (EQUIVALENT) 164.48/121.96 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Pos(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero)))) 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (724) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(x0))), Integer(Neg(Zero))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (725) DependencyGraphProof (EQUIVALENT) 164.48/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (726) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (727) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (728) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (729) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (730) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (731) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (732) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (733) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (734) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (735) DependencyGraphProof (EQUIVALENT) 164.48/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (736) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (737) TransformationProof (EQUIVALENT) 164.48/121.96 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(x1))), Integer(Neg(x0))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(x0, x1)))), Integer(Neg(Succ(x1))), Integer(Neg(x0))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0)))))) 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))),new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero)))) 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (738) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(x0))), Integer(Neg(Zero))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(x0))), Integer(Neg(Zero))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (739) DependencyGraphProof (EQUIVALENT) 164.48/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (740) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (741) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0)))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (742) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (743) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Zero)))), Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (744) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.96 new_esEs(Integer(Neg(Zero))) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.96 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.96 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.96 new_primModNatS1(Zero, x0) 164.48/121.96 164.48/121.96 We have to consider all minimal (P,Q,R)-chains. 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (745) TransformationProof (EQUIVALENT) 164.48/121.96 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.96 164.48/121.96 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) 164.48/121.96 164.48/121.96 164.48/121.96 ---------------------------------------- 164.48/121.96 164.48/121.96 (746) 164.48/121.96 Obligation: 164.48/121.96 Q DP problem: 164.48/121.96 The TRS P consists of the following rules: 164.48/121.96 164.48/121.96 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.96 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.96 164.48/121.96 The TRS R consists of the following rules: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.96 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.96 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.96 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.96 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.96 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.96 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.96 new_error -> error([]) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.96 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.96 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.96 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.96 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.96 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.96 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.96 new_primMinusNatS1 -> Zero 164.48/121.96 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.96 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.96 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.96 164.48/121.96 The set Q consists of the following terms: 164.48/121.96 164.48/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.96 new_primMinusNatS0(x0) 164.48/121.96 new_primMinusNatS1 164.48/121.96 new_esEs(Integer(Pos(Zero))) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.96 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.96 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.96 new_primMinusNatS2(Zero, Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.96 new_primModNatS02(x0, x1) 164.48/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.96 new_error 164.48/121.96 new_primModNatS1(Succ(Zero), Zero) 164.48/121.96 new_rem(Integer(x0), Integer(x1)) 164.48/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (747) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (748) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Zero)))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (749) DependencyGraphProof (EQUIVALENT) 164.48/121.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (750) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (751) TransformationProof (EQUIVALENT) 164.48/121.97 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (752) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (753) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (754) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (755) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (756) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (757) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (758) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (759) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (760) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (761) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (762) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (763) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (764) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (765) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (766) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (767) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (768) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (769) DependencyGraphProof (EQUIVALENT) 164.48/121.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (770) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (771) TransformationProof (EQUIVALENT) 164.48/121.97 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (772) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (773) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (774) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (775) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (776) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (777) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (778) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (779) DependencyGraphProof (EQUIVALENT) 164.48/121.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (780) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (781) TransformationProof (EQUIVALENT) 164.48/121.97 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.97 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (782) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.97 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.97 new_primModNatS02(x0, x1) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.97 new_error 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) 164.48/121.97 new_rem(Integer(x0), Integer(x1)) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.97 new_esEs(Integer(Neg(Zero))) 164.48/121.97 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.97 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.97 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.97 new_primModNatS1(Zero, x0) 164.48/121.97 164.48/121.97 We have to consider all minimal (P,Q,R)-chains. 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (783) TransformationProof (EQUIVALENT) 164.48/121.97 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.97 164.48/121.97 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.97 164.48/121.97 164.48/121.97 ---------------------------------------- 164.48/121.97 164.48/121.97 (784) 164.48/121.97 Obligation: 164.48/121.97 Q DP problem: 164.48/121.97 The TRS P consists of the following rules: 164.48/121.97 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.97 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.97 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.97 164.48/121.97 The TRS R consists of the following rules: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.97 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.97 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.97 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.97 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.97 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.97 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.97 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.97 new_error -> error([]) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.97 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.97 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.97 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.97 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.97 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.97 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.97 new_primMinusNatS1 -> Zero 164.48/121.97 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.97 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.97 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.97 164.48/121.97 The set Q consists of the following terms: 164.48/121.97 164.48/121.97 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.97 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.97 new_primMinusNatS0(x0) 164.48/121.97 new_primMinusNatS1 164.48/121.97 new_esEs(Integer(Pos(Zero))) 164.48/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.97 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (785) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (786) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (787) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (788) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (789) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (790) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (791) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (792) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (793) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (794) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (795) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2))))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (796) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (797) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (798) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (799) DependencyGraphProof (EQUIVALENT) 164.48/121.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (800) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (801) TransformationProof (EQUIVALENT) 164.48/121.98 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (802) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (803) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS0(x0), 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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0))))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (804) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (805) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (806) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (807) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (808) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(Zero))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (809) DependencyGraphProof (EQUIVALENT) 164.48/121.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (810) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (811) TransformationProof (EQUIVALENT) 164.48/121.98 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (812) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (813) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (814) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (815) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (816) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (817) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (818) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (819) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (820) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.98 164.48/121.98 The TRS R consists of the following rules: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.98 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.98 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.98 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.98 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.98 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.98 new_error -> error([]) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.98 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.98 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.98 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.98 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.98 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.98 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.98 new_primMinusNatS1 -> Zero 164.48/121.98 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.98 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.98 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.98 164.48/121.98 The set Q consists of the following terms: 164.48/121.98 164.48/121.98 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.98 new_primMinusNatS0(x0) 164.48/121.98 new_primMinusNatS1 164.48/121.98 new_esEs(Integer(Pos(Zero))) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.98 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.98 new_primMinusNatS2(Zero, Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.98 new_primModNatS02(x0, x1) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.98 new_error 164.48/121.98 new_primModNatS1(Succ(Zero), Zero) 164.48/121.98 new_rem(Integer(x0), Integer(x1)) 164.48/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.98 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.98 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.98 new_esEs(Integer(Neg(Zero))) 164.48/121.98 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.98 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.98 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.98 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.98 new_primModNatS1(Zero, x0) 164.48/121.98 164.48/121.98 We have to consider all minimal (P,Q,R)-chains. 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (821) TransformationProof (EQUIVALENT) 164.48/121.98 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.98 164.48/121.98 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.98 164.48/121.98 164.48/121.98 ---------------------------------------- 164.48/121.98 164.48/121.98 (822) 164.48/121.98 Obligation: 164.48/121.98 Q DP problem: 164.48/121.98 The TRS P consists of the following rules: 164.48/121.98 164.48/121.98 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.98 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.98 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.98 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (823) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (824) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (825) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (826) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (827) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (828) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (829) DependencyGraphProof (EQUIVALENT) 164.48/121.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (830) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (831) TransformationProof (EQUIVALENT) 164.48/121.99 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (832) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (833) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (834) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (835) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (836) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (837) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (838) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (839) DependencyGraphProof (EQUIVALENT) 164.48/121.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (840) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(x0, x1, x0, x1)))), Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (841) TransformationProof (EQUIVALENT) 164.48/121.99 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (842) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (843) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (844) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Zero, Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (845) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (846) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS02(Succ(x2), Zero)))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (847) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (848) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (849) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (850) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (851) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (852) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (853) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (854) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (855) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2))))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (856) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/121.99 164.48/121.99 The TRS R consists of the following rules: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/121.99 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/121.99 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/121.99 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/121.99 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/121.99 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/121.99 new_error -> error([]) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/121.99 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/121.99 new_esEs(Integer(Neg(Zero))) -> True 164.48/121.99 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/121.99 new_esEs(Integer(Pos(Zero))) -> True 164.48/121.99 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/121.99 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/121.99 new_primMinusNatS1 -> Zero 164.48/121.99 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/121.99 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/121.99 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/121.99 164.48/121.99 The set Q consists of the following terms: 164.48/121.99 164.48/121.99 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/121.99 new_primMinusNatS0(x0) 164.48/121.99 new_primMinusNatS1 164.48/121.99 new_esEs(Integer(Pos(Zero))) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/121.99 new_esEs(Integer(Neg(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Zero) 164.48/121.99 new_primMinusNatS2(Zero, Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/121.99 new_primModNatS02(x0, x1) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/121.99 new_error 164.48/121.99 new_primModNatS1(Succ(Zero), Zero) 164.48/121.99 new_rem(Integer(x0), Integer(x1)) 164.48/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/121.99 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/121.99 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/121.99 new_esEs(Integer(Neg(Zero))) 164.48/121.99 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/121.99 new_esEs(Integer(Pos(Succ(x0)))) 164.48/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/121.99 new_primMinusNatS2(Zero, Succ(x0)) 164.48/121.99 new_primModNatS01(x0, x1, Zero, Zero) 164.48/121.99 new_primModNatS1(Zero, x0) 164.48/121.99 164.48/121.99 We have to consider all minimal (P,Q,R)-chains. 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (857) TransformationProof (EQUIVALENT) 164.48/121.99 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/121.99 164.48/121.99 (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/121.99 164.48/121.99 164.48/121.99 ---------------------------------------- 164.48/121.99 164.48/121.99 (858) 164.48/121.99 Obligation: 164.48/121.99 Q DP problem: 164.48/121.99 The TRS P consists of the following rules: 164.48/121.99 164.48/121.99 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/121.99 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/121.99 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (859) DependencyGraphProof (EQUIVALENT) 164.48/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (860) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (861) TransformationProof (EQUIVALENT) 164.48/122.00 By narrowing [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x0))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/122.00 164.48/122.00 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(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'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 164.48/122.00 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))),new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (862) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (863) TransformationProof (EQUIVALENT) 164.48/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS0(x0), 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]: 164.48/122.00 164.48/122.00 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0))))))) 164.48/122.00 164.48/122.00 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (864) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (865) TransformationProof (EQUIVALENT) 164.48/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(new_primMinusNatS1, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) at position [0,0,0,0,0] we obtained the following new rules [LPAR04]: 164.48/122.00 164.48/122.00 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (866) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Zero, Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (867) TransformationProof (EQUIVALENT) 164.48/122.00 By rewriting [LPAR04] the rule new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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]: 164.48/122.00 164.48/122.00 (new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (868) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(Zero))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (869) DependencyGraphProof (EQUIVALENT) 164.48/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (870) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (871) QDPOrderProof (EQUIVALENT) 164.48/122.00 We use the reduction pair processor [LPAR04,JAR06]. 164.48/122.00 164.48/122.00 164.48/122.00 The following pairs can be oriented strictly and are deleted. 164.48/122.00 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(Succ(x0)))))) 164.48/122.00 The remaining pairs can at least be oriented weakly. 164.48/122.00 Used ordering: Polynomial interpretation [POLO]: 164.48/122.00 164.48/122.00 POL(False) = 1 164.48/122.00 POL(Integer(x_1)) = x_1 164.48/122.00 POL(Neg(x_1)) = x_1 164.48/122.00 POL(Pos(x_1)) = 1 164.48/122.00 POL(Succ(x_1)) = 1 164.48/122.00 POL(True) = 0 164.48/122.00 POL(Zero) = 0 164.48/122.00 POL([]) = 1 164.48/122.00 POL(error(x_1)) = 1 + x_1 164.48/122.00 POL(new_error) = 1 164.48/122.00 POL(new_esEs(x_1)) = x_1 164.48/122.00 POL(new_gcd0Gcd'(x_1, x_2)) = 1 164.48/122.00 POL(new_gcd0Gcd'0(x_1, x_2)) = 1 164.48/122.00 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_1 164.48/122.00 POL(new_primMinusNatS0(x_1)) = 1 + x_1 164.48/122.00 POL(new_primMinusNatS1) = 1 164.48/122.00 POL(new_primMinusNatS2(x_1, x_2)) = 0 164.48/122.00 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 164.48/122.00 POL(new_primModNatS02(x_1, x_2)) = 1 164.48/122.00 POL(new_primModNatS1(x_1, x_2)) = x_2 164.48/122.00 POL(new_primRemInt(x_1, x_2)) = 0 164.48/122.00 POL(new_rem(x_1, x_2)) = x_1 164.48/122.00 164.48/122.00 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 164.48/122.00 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 164.48/122.00 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (872) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (873) QDPOrderProof (EQUIVALENT) 164.48/122.00 We use the reduction pair processor [LPAR04,JAR06]. 164.48/122.00 164.48/122.00 164.48/122.00 The following pairs can be oriented strictly and are deleted. 164.48/122.00 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x0), Zero)))), Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(Succ(x0)))))) 164.48/122.00 The remaining pairs can at least be oriented weakly. 164.48/122.00 Used ordering: Polynomial interpretation [POLO]: 164.48/122.00 164.48/122.00 POL(False) = 1 164.48/122.00 POL(Integer(x_1)) = x_1 164.48/122.00 POL(Neg(x_1)) = x_1 164.48/122.00 POL(Pos(x_1)) = x_1 164.48/122.00 POL(Succ(x_1)) = 1 164.48/122.00 POL(True) = 0 164.48/122.00 POL(Zero) = 0 164.48/122.00 POL([]) = 1 164.48/122.00 POL(error(x_1)) = 1 + x_1 164.48/122.00 POL(new_error) = 1 164.48/122.00 POL(new_esEs(x_1)) = x_1 164.48/122.00 POL(new_gcd0Gcd'(x_1, x_2)) = 1 164.48/122.00 POL(new_gcd0Gcd'0(x_1, x_2)) = 1 164.48/122.00 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = x_1 164.48/122.00 POL(new_primMinusNatS0(x_1)) = 1 + x_1 164.48/122.00 POL(new_primMinusNatS1) = 1 164.48/122.00 POL(new_primMinusNatS2(x_1, x_2)) = 0 164.48/122.00 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 164.48/122.00 POL(new_primModNatS02(x_1, x_2)) = 1 164.48/122.00 POL(new_primModNatS1(x_1, x_2)) = x_2 164.48/122.00 POL(new_primRemInt(x_1, x_2)) = 0 164.48/122.00 POL(new_rem(x_1, x_2)) = x_1 164.48/122.00 164.48/122.00 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 164.48/122.00 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 164.48/122.00 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (874) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 The set Q consists of the following terms: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.00 new_primMinusNatS0(x0) 164.48/122.00 new_primMinusNatS1 164.48/122.00 new_esEs(Integer(Pos(Zero))) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.00 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.00 new_primModNatS02(x0, x1) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.00 new_error 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) 164.48/122.00 new_rem(Integer(x0), Integer(x1)) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.00 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.00 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.00 new_esEs(Integer(Neg(Zero))) 164.48/122.00 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.00 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.00 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.00 new_primModNatS1(Zero, x0) 164.48/122.00 164.48/122.00 We have to consider all minimal (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (875) MNOCProof (EQUIVALENT) 164.48/122.00 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (876) 164.48/122.00 Obligation: 164.48/122.00 Q DP problem: 164.48/122.00 The TRS P consists of the following rules: 164.48/122.00 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.00 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.00 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.00 164.48/122.00 The TRS R consists of the following rules: 164.48/122.00 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.00 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.00 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.00 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.00 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.00 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.00 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.00 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.00 new_error -> error([]) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.00 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.00 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.00 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.00 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.00 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.00 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.00 new_primMinusNatS1 -> Zero 164.48/122.00 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.00 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.00 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.00 164.48/122.00 Q is empty. 164.48/122.00 We have to consider all (P,Q,R)-chains. 164.48/122.00 ---------------------------------------- 164.48/122.00 164.48/122.00 (877) InductionCalculusProof (EQUIVALENT) 164.48/122.00 Note that final constraints are written in bold face. 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'1(False, x2, x3) -> new_gcd0Gcd'0(x2, new_rem(x3, x2)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'1(False, x2, x3) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'1(False, x24, x25) -> new_gcd0Gcd'0(x24, new_rem(x25, x24)), new_gcd0Gcd'0(x26, x27) -> new_gcd0Gcd'(x27, x26) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'0(x24, new_rem(x25, x24))=new_gcd0Gcd'0(x26, x27) ==> new_gcd0Gcd'1(False, x24, x25)_>=_new_gcd0Gcd'0(x24, new_rem(x25, x24))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'1(False, x24, x25)_>=_new_gcd0Gcd'0(x24, new_rem(x25, x24))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x58, x59) -> new_gcd0Gcd'(x59, x58), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x59, x58)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero)))) ==> new_gcd0Gcd'0(x58, x59)_>=_new_gcd0Gcd'(x59, x58)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x60)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x65, x66) -> new_gcd0Gcd'(x66, x65), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x66, x65)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero)))) ==> new_gcd0Gcd'0(x65, x66)_>=_new_gcd0Gcd'(x66, x65)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x67)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x68, x69) -> new_gcd0Gcd'(x69, x68), new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x69, x68)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero)))) ==> new_gcd0Gcd'0(x68, x69)_>=_new_gcd0Gcd'(x69, x68)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x70)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x71, x72) -> new_gcd0Gcd'(x72, x71), new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x72, x71)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero)))) ==> new_gcd0Gcd'0(x71, x72)_>=_new_gcd0Gcd'(x72, x71)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x73)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x74, x75) -> new_gcd0Gcd'(x75, x74), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x75, x74)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x76))))), Integer(Pos(Succ(Succ(Succ(x77)))))) ==> new_gcd0Gcd'0(x74, x75)_>=_new_gcd0Gcd'(x75, x74)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(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))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x78, x79) -> new_gcd0Gcd'(x79, x78), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x79, x78)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x78, x79)_>=_new_gcd0Gcd'(x79, x78)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x80))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x81, x82) -> new_gcd0Gcd'(x82, x81), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x82, x81)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83)))))) ==> new_gcd0Gcd'0(x81, x82)_>=_new_gcd0Gcd'(x82, x81)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x83))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x84, x85) -> new_gcd0Gcd'(x85, x84), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x85, x84)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x86))))), Integer(Pos(Succ(Succ(Succ(x87)))))) ==> new_gcd0Gcd'0(x84, x85)_>=_new_gcd0Gcd'(x85, x84)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(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))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x88, x89) -> new_gcd0Gcd'(x89, x88), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x89, x88)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x88, x89)_>=_new_gcd0Gcd'(x89, x88)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x90))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x91, x92) -> new_gcd0Gcd'(x92, x91), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x92, x91)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93)))))) ==> new_gcd0Gcd'0(x91, x92)_>=_new_gcd0Gcd'(x92, x91)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x93))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x94, x95) -> new_gcd0Gcd'(x95, x94), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x95, x94)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x96))))), Integer(Neg(Succ(Succ(Succ(x97)))))) ==> new_gcd0Gcd'0(x94, x95)_>=_new_gcd0Gcd'(x95, x94)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(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))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x98, x99) -> new_gcd0Gcd'(x99, x98), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x99, x98)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x98, x99)_>=_new_gcd0Gcd'(x99, x98)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x101, x102) -> new_gcd0Gcd'(x102, x101), new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x102, x101)=new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103)))))) ==> new_gcd0Gcd'0(x101, x102)_>=_new_gcd0Gcd'(x102, x101)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x103))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x104, x105) -> new_gcd0Gcd'(x105, x104), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x105, x104)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x106))))), Integer(Neg(Succ(Succ(Succ(x107)))))) ==> new_gcd0Gcd'0(x104, x105)_>=_new_gcd0Gcd'(x105, x104)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(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))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x108, x109) -> new_gcd0Gcd'(x109, x108), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x109, x108)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(x108, x109)_>=_new_gcd0Gcd'(x109, x108)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x110))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 *We consider the chain new_gcd0Gcd'0(x111, x112) -> new_gcd0Gcd'(x112, x111), new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'(x112, x111)=new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113)))))) ==> new_gcd0Gcd'0(x111, x112)_>=_new_gcd0Gcd'(x112, x111)) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x113))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero)))), new_gcd0Gcd'1(False, x116, x117) -> new_gcd0Gcd'0(x116, new_rem(x117, x116)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))=new_gcd0Gcd'1(False, x116, x117) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'1(False, x136, x137) -> new_gcd0Gcd'0(x136, new_rem(x137, x136)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'1(False, x136, x137) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero)))), new_gcd0Gcd'1(False, x156, x157) -> new_gcd0Gcd'0(x156, new_rem(x157, x156)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))=new_gcd0Gcd'1(False, x156, x157) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177)))))), new_gcd0Gcd'1(False, x178, x179) -> new_gcd0Gcd'0(x178, new_rem(x179, x178)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))=new_gcd0Gcd'1(False, x178, x179) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=x486 & new_esEs(x486)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x486)=False which results in the following new constraints: 164.48/122.00 164.48/122.00 (3) (False=False & Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=Integer(Pos(Succ(x487))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 164.48/122.00 164.48/122.00 (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))=Integer(Neg(Succ(x488))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (5) (Succ(x177)=x489 & Succ(x176)=x490 & new_primModNatS01(x489, x490, x177, x176)=Succ(x487) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x177), Succ(x176), x177, x176)))), Integer(Neg(Succ(Succ(Succ(x176))))), Integer(Pos(Succ(Succ(Succ(x177))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x489, x490, x177, x176)=Succ(x487) which results in the following new constraints: 164.48/122.00 164.48/122.00 (6) (new_primModNatS01(x494, x493, x492, x491)=Succ(x487) & 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'1(new_esEs(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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 (7) (Succ(Succ(x498))=Succ(x487) & Succ(Zero)=x498 & Succ(Succ(x496))=x497 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.00 164.48/122.00 (8) (new_primModNatS02(x500, x499)=Succ(x487) & Succ(Zero)=x500 & Succ(Zero)=x499 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 (9) (new_primModNatS02(x503, x502)=Succ(x487) & Succ(Succ(x501))=x503 & Succ(Zero)=x502 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (6) using rule (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (10) (new_primModNatS01(x494, x493, x492, x491)=Succ(x487) & 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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x500, x499)=Succ(x487) which results in the following new constraint: 164.48/122.00 164.48/122.00 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x518), Succ(x517)), Succ(x517))=Succ(x487) & Succ(Zero)=x518 & Succ(Zero)=x517 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x503, x502)=Succ(x487) which results in the following new constraint: 164.48/122.00 164.48/122.00 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x524), Succ(x523)), Succ(x523))=Succ(x487) & Succ(Succ(x501))=x524 & Succ(Zero)=x523 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x494, x493, x492, x491)=Succ(x487) which results in the following new constraints: 164.48/122.00 164.48/122.00 (14) (new_primModNatS01(x507, x506, x505, x504)=Succ(x487) & 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'1(new_esEs(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'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 (15) (Succ(Succ(x511))=Succ(x487) & 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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 (16) (new_primModNatS02(x513, x512)=Succ(x487) & 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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 (17) (new_primModNatS02(x516, x515)=Succ(x487) & 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'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x214, x215) -> new_gcd0Gcd'0(x214, new_rem(x215, x214)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x214, x215) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233)))))), new_gcd0Gcd'1(False, x234, x235) -> new_gcd0Gcd'0(x234, new_rem(x235, x234)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))=new_gcd0Gcd'1(False, x234, x235) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=x529 & new_esEs(x529)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x529)=False which results in the following new constraints: 164.48/122.00 164.48/122.00 (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=Integer(Pos(Succ(x530))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 (4) (False=False & Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))=Integer(Neg(Succ(x531))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (5) (Succ(x233)=x532 & Succ(Zero)=x533 & new_primModNatS1(x532, x533)=Succ(x530) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x532, x533)=Succ(x530) which results in the following new constraints: 164.48/122.00 164.48/122.00 (6) (new_primModNatS1(new_primMinusNatS0(x534), Zero)=Succ(x530) & Succ(x233)=Succ(Succ(x534)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 (7) (Succ(Zero)=Succ(x530) & Succ(x233)=Succ(Zero) & Succ(Zero)=Succ(x535) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 (8) (new_primModNatS01(x537, x536, x537, x536)=Succ(x530) & Succ(x233)=Succ(Succ(x537)) & Succ(Zero)=Succ(x536) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 (9) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x530) & Succ(x233)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x233), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x233))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (10) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (11) (x537=x539 & x536=x540 & new_primModNatS01(x537, x536, x539, x540)=Succ(x530) & Zero=x536 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x537)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x537)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x537)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x537, x536, x539, x540)=Succ(x530) which results in the following new constraints: 164.48/122.00 164.48/122.00 (12) (new_primModNatS01(x544, x543, x542, x541)=Succ(x530) & 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x544)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x544)))))))) 164.48/122.00 164.48/122.00 (13) (Succ(Succ(x548))=Succ(x530) & x548=Zero & x547=Succ(x546) & Zero=x547 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x548)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x548)))))))) 164.48/122.00 164.48/122.00 (14) (new_primModNatS02(x550, x549)=Succ(x530) & x550=Zero & x549=Zero & Zero=x549 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x550)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x550)))))))) 164.48/122.00 164.48/122.00 (15) (new_primModNatS02(x553, x552)=Succ(x530) & x553=Succ(x551) & x552=Zero & Zero=x552 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x553)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x553)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 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: 164.48/122.00 164.48/122.00 (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255)))))), new_gcd0Gcd'1(False, x256, x257) -> new_gcd0Gcd'0(x256, new_rem(x257, x256)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))=new_gcd0Gcd'1(False, x256, x257) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=x558 & new_esEs(x558)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x558)=False which results in the following new constraints: 164.48/122.00 164.48/122.00 (3) (False=False & Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=Integer(Pos(Succ(x559))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 164.48/122.00 164.48/122.00 (4) (False=False & Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))=Integer(Neg(Succ(x560))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (5) (Succ(x255)=x561 & Succ(x254)=x562 & new_primModNatS01(x561, x562, x255, x254)=Succ(x559) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x255), Succ(x254), x255, x254)))), Integer(Pos(Succ(Succ(Succ(x254))))), Integer(Pos(Succ(Succ(Succ(x255))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x561, x562, x255, x254)=Succ(x559) which results in the following new constraints: 164.48/122.00 164.48/122.00 (6) (new_primModNatS01(x566, x565, x564, x563)=Succ(x559) & 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'1(new_esEs(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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 (7) (Succ(Succ(x570))=Succ(x559) & Succ(Zero)=x570 & Succ(Succ(x568))=x569 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.00 164.48/122.00 (8) (new_primModNatS02(x572, x571)=Succ(x559) & Succ(Zero)=x572 & Succ(Zero)=x571 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 (9) (new_primModNatS02(x575, x574)=Succ(x559) & Succ(Succ(x573))=x575 & Succ(Zero)=x574 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (6) using rule (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (10) (new_primModNatS01(x566, x565, x564, x563)=Succ(x559) & 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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x572, x571)=Succ(x559) which results in the following new constraint: 164.48/122.00 164.48/122.00 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x590), Succ(x589)), Succ(x589))=Succ(x559) & Succ(Zero)=x590 & Succ(Zero)=x589 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x575, x574)=Succ(x559) which results in the following new constraint: 164.48/122.00 164.48/122.00 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x596), Succ(x595)), Succ(x595))=Succ(x559) & Succ(Succ(x573))=x596 & Succ(Zero)=x595 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x566, x565, x564, x563)=Succ(x559) which results in the following new constraints: 164.48/122.00 164.48/122.00 (14) (new_primModNatS01(x579, x578, x577, x576)=Succ(x559) & 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'1(new_esEs(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'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 (15) (Succ(Succ(x583))=Succ(x559) & 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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 (16) (new_primModNatS02(x585, x584)=Succ(x559) & 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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 (17) (new_primModNatS02(x588, x587)=Succ(x559) & 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'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x292, x293) -> new_gcd0Gcd'0(x292, new_rem(x293, x292)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x292, x293) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) the following chains were created: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311)))))), new_gcd0Gcd'1(False, x312, x313) -> new_gcd0Gcd'0(x312, new_rem(x313, x312)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))=new_gcd0Gcd'1(False, x312, x313) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=x601 & new_esEs(x601)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x601)=False which results in the following new constraints: 164.48/122.00 164.48/122.00 (3) (False=False & Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=Integer(Pos(Succ(x602))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 (4) (False=False & Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))=Integer(Neg(Succ(x603))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (5) (Succ(x311)=x604 & Succ(Zero)=x605 & new_primModNatS1(x604, x605)=Succ(x602) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x604, x605)=Succ(x602) which results in the following new constraints: 164.48/122.00 164.48/122.00 (6) (new_primModNatS1(new_primMinusNatS0(x606), Zero)=Succ(x602) & Succ(x311)=Succ(Succ(x606)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 (7) (Succ(Zero)=Succ(x602) & Succ(x311)=Succ(Zero) & Succ(Zero)=Succ(x607) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 (8) (new_primModNatS01(x609, x608, x609, x608)=Succ(x602) & Succ(x311)=Succ(Succ(x609)) & Succ(Zero)=Succ(x608) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 (9) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x602) & Succ(x311)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x311), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x311))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (10) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (11) (x609=x611 & x608=x612 & new_primModNatS01(x609, x608, x611, x612)=Succ(x602) & Zero=x608 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x609)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x609)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x609)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x609, x608, x611, x612)=Succ(x602) which results in the following new constraints: 164.48/122.00 164.48/122.00 (12) (new_primModNatS01(x616, x615, x614, x613)=Succ(x602) & 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'1(new_esEs(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'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x616)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x616)))))))) 164.48/122.00 164.48/122.00 (13) (Succ(Succ(x620))=Succ(x602) & x620=Zero & x619=Succ(x618) & Zero=x619 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x620)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x620)))))))) 164.48/122.00 164.48/122.00 (14) (new_primModNatS02(x622, x621)=Succ(x602) & x622=Zero & x621=Zero & Zero=x621 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x622)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x622)))))))) 164.48/122.00 164.48/122.00 (15) (new_primModNatS02(x625, x624)=Succ(x602) & x625=Succ(x623) & x624=Zero & Zero=x624 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(x625)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(x625)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 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: 164.48/122.00 164.48/122.00 (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.00 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333)))))), new_gcd0Gcd'1(False, x334, x335) -> new_gcd0Gcd'0(x334, new_rem(x335, x334)) which results in the following constraint: 164.48/122.00 164.48/122.00 (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))=new_gcd0Gcd'1(False, x334, x335) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (2) (Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=x630 & new_esEs(x630)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x630)=False which results in the following new constraints: 164.48/122.00 164.48/122.00 (3) (False=False & Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=Integer(Pos(Succ(x631))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 164.48/122.00 164.48/122.00 (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))=Integer(Neg(Succ(x632))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.00 164.48/122.00 (5) (Succ(x333)=x633 & Succ(x332)=x634 & new_primModNatS01(x633, x634, x333, x332)=Succ(x632) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x333), Succ(x332), x333, x332)))), Integer(Pos(Succ(Succ(Succ(x332))))), Integer(Neg(Succ(Succ(Succ(x333))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x633, x634, x333, x332)=Succ(x632) which results in the following new constraints: 164.48/122.00 164.48/122.00 (6) (new_primModNatS01(x638, x637, x636, x635)=Succ(x632) & 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'1(new_esEs(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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 (7) (Succ(Succ(x642))=Succ(x632) & Succ(Zero)=x642 & Succ(Succ(x640))=x641 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.00 164.48/122.00 (8) (new_primModNatS02(x644, x643)=Succ(x632) & Succ(Zero)=x644 & Succ(Zero)=x643 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 (9) (new_primModNatS02(x647, x646)=Succ(x632) & Succ(Succ(x645))=x647 & Succ(Zero)=x646 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (6) using rule (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (10) (new_primModNatS01(x638, x637, x636, x635)=Succ(x632) & 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'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.00 164.48/122.00 (11) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x644, x643)=Succ(x632) which results in the following new constraint: 164.48/122.00 164.48/122.00 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x662), Succ(x661)), Succ(x661))=Succ(x632) & Succ(Zero)=x662 & Succ(Zero)=x661 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x647, x646)=Succ(x632) which results in the following new constraint: 164.48/122.00 164.48/122.00 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x668), Succ(x667)), Succ(x667))=Succ(x632) & Succ(Succ(x645))=x668 & Succ(Zero)=x667 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.00 164.48/122.00 164.48/122.00 164.48/122.00 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x638, x637, x636, x635)=Succ(x632) which results in the following new constraints: 164.48/122.00 164.48/122.00 (14) (new_primModNatS01(x651, x650, x649, x648)=Succ(x632) & 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'1(new_esEs(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'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 (15) (Succ(Succ(x655))=Succ(x632) & 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'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 (16) (new_primModNatS02(x657, x656)=Succ(x632) & 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'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 (17) (new_primModNatS02(x660, x659)=Succ(x632) & 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'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (18) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (19) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (20) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (21) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (22) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (23) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 164.48/122.01 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x370, x371) -> new_gcd0Gcd'0(x370, new_rem(x371, x370)) which results in the following constraint: 164.48/122.01 164.48/122.01 (1) (new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x370, x371) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (2) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 For Pair new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 164.48/122.01 *We consider the chain new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389)))))), new_gcd0Gcd'1(False, x390, x391) -> new_gcd0Gcd'0(x390, new_rem(x391, x390)) which results in the following constraint: 164.48/122.01 164.48/122.01 (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))=new_gcd0Gcd'1(False, x390, x391) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (2) (Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=x673 & new_esEs(x673)=False ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x673)=False which results in the following new constraints: 164.48/122.01 164.48/122.01 (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=Integer(Pos(Succ(x674))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 (4) (False=False & Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))=Integer(Neg(Succ(x675))) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (5) (Succ(x389)=x676 & Succ(Zero)=x677 & new_primModNatS1(x676, x677)=Succ(x675) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x676, x677)=Succ(x675) which results in the following new constraints: 164.48/122.01 164.48/122.01 (6) (new_primModNatS1(new_primMinusNatS0(x678), Zero)=Succ(x675) & Succ(x389)=Succ(Succ(x678)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 (7) (Succ(Zero)=Succ(x675) & Succ(x389)=Succ(Zero) & Succ(Zero)=Succ(x679) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 (8) (new_primModNatS01(x681, x680, x681, x680)=Succ(x675) & Succ(x389)=Succ(Succ(x681)) & Succ(Zero)=Succ(x680) ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 (9) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x675) & Succ(x389)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x389), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x389))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (10) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (11) (x681=x683 & x680=x684 & new_primModNatS01(x681, x680, x683, x684)=Succ(x675) & Zero=x680 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x681)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x681)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x681)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x681, x680, x683, x684)=Succ(x675) which results in the following new constraints: 164.48/122.01 164.48/122.01 (12) (new_primModNatS01(x688, x687, x686, x685)=Succ(x675) & 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x688)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x688)))))))) 164.48/122.01 164.48/122.01 (13) (Succ(Succ(x692))=Succ(x675) & x692=Zero & x691=Succ(x690) & Zero=x691 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x692)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x692)))))))) 164.48/122.01 164.48/122.01 (14) (new_primModNatS02(x694, x693)=Succ(x675) & x694=Zero & x693=Zero & Zero=x693 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x694)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x694)))))))) 164.48/122.01 164.48/122.01 (15) (new_primModNatS02(x697, x696)=Succ(x675) & x697=Succ(x695) & x696=Zero & Zero=x696 ==> new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x697)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x697)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 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: 164.48/122.01 164.48/122.01 (16) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (17) (new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(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: 164.48/122.01 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411)))))), new_gcd0Gcd'1(False, x412, x413) -> new_gcd0Gcd'0(x412, new_rem(x413, x412)) which results in the following constraint: 164.48/122.01 164.48/122.01 (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))=new_gcd0Gcd'1(False, x412, x413) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (2) (Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=x702 & new_esEs(x702)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x702)=False which results in the following new constraints: 164.48/122.01 164.48/122.01 (3) (False=False & Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=Integer(Pos(Succ(x703))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 164.48/122.01 164.48/122.01 (4) (False=False & Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))=Integer(Neg(Succ(x704))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (5) (Succ(x411)=x705 & Succ(x410)=x706 & new_primModNatS01(x705, x706, x411, x410)=Succ(x704) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x411), Succ(x410), x411, x410)))), Integer(Neg(Succ(Succ(Succ(x410))))), Integer(Neg(Succ(Succ(Succ(x411))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x705, x706, x411, x410)=Succ(x704) which results in the following new constraints: 164.48/122.01 164.48/122.01 (6) (new_primModNatS01(x710, x709, x708, x707)=Succ(x704) & 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'1(new_esEs(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'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 (7) (Succ(Succ(x714))=Succ(x704) & Succ(Zero)=x714 & Succ(Succ(x712))=x713 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.01 164.48/122.01 (8) (new_primModNatS02(x716, x715)=Succ(x704) & Succ(Zero)=x716 & Succ(Zero)=x715 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 (9) (new_primModNatS02(x719, x718)=Succ(x704) & Succ(Succ(x717))=x719 & Succ(Zero)=x718 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (6) using rule (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (10) (new_primModNatS01(x710, x709, x708, x707)=Succ(x704) & 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'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (7) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (11) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x716, x715)=Succ(x704) which results in the following new constraint: 164.48/122.01 164.48/122.01 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x734), Succ(x733)), Succ(x733))=Succ(x704) & Succ(Zero)=x734 & Succ(Zero)=x733 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x719, x718)=Succ(x704) which results in the following new constraint: 164.48/122.01 164.48/122.01 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x740), Succ(x739)), Succ(x739))=Succ(x704) & Succ(Succ(x717))=x740 & Succ(Zero)=x739 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x710, x709, x708, x707)=Succ(x704) which results in the following new constraints: 164.48/122.01 164.48/122.01 (14) (new_primModNatS01(x723, x722, x721, x720)=Succ(x704) & 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'1(new_esEs(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'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 (15) (Succ(Succ(x727))=Succ(x704) & 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'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 (16) (new_primModNatS02(x729, x728)=Succ(x704) & 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'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 (17) (new_primModNatS02(x732, x731)=Succ(x704) & 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'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (18) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (19) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (20) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (21) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (22) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (23) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) the following chains were created: 164.48/122.01 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, x448, x449) -> new_gcd0Gcd'0(x448, new_rem(x449, x448)) which results in the following constraint: 164.48/122.01 164.48/122.01 (1) (new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, x448, x449) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (2) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 For Pair new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) the following chains were created: 164.48/122.01 *We consider the chain new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467)))))), new_gcd0Gcd'1(False, x468, x469) -> new_gcd0Gcd'0(x468, new_rem(x469, x468)) which results in the following constraint: 164.48/122.01 164.48/122.01 (1) (new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))=new_gcd0Gcd'1(False, x468, x469) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (2) (Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=x745 & new_esEs(x745)=False ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x745)=False which results in the following new constraints: 164.48/122.01 164.48/122.01 (3) (False=False & Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=Integer(Pos(Succ(x746))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 (4) (False=False & Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))=Integer(Neg(Succ(x747))) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (5) (Succ(x467)=x748 & Succ(Zero)=x749 & new_primModNatS1(x748, x749)=Succ(x747) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x748, x749)=Succ(x747) which results in the following new constraints: 164.48/122.01 164.48/122.01 (6) (new_primModNatS1(new_primMinusNatS0(x750), Zero)=Succ(x747) & Succ(x467)=Succ(Succ(x750)) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 (7) (Succ(Zero)=Succ(x747) & Succ(x467)=Succ(Zero) & Succ(Zero)=Succ(x751) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 (8) (new_primModNatS01(x753, x752, x753, x752)=Succ(x747) & Succ(x467)=Succ(Succ(x753)) & Succ(Zero)=Succ(x752) ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 (9) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x747) & Succ(x467)=Succ(Zero) & Succ(Zero)=Zero ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x467), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x467))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We solved constraint (6) using rules (I), (II).We simplified constraint (7) using rules (I), (II), (III), (IV) which results in the following new constraint: 164.48/122.01 164.48/122.01 (10) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (11) (x753=x755 & x752=x756 & new_primModNatS01(x753, x752, x755, x756)=Succ(x747) & Zero=x752 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x753)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x753)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x753)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We solved constraint (9) using rules (I), (II).We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x753, x752, x755, x756)=Succ(x747) which results in the following new constraints: 164.48/122.01 164.48/122.01 (12) (new_primModNatS01(x760, x759, x758, x757)=Succ(x747) & 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'1(new_esEs(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'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x760)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x760)))))))) 164.48/122.01 164.48/122.01 (13) (Succ(Succ(x764))=Succ(x747) & x764=Zero & x763=Succ(x762) & Zero=x763 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x764)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x764)))))))) 164.48/122.01 164.48/122.01 (14) (new_primModNatS02(x766, x765)=Succ(x747) & x766=Zero & x765=Zero & Zero=x765 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x766)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x766)))))))) 164.48/122.01 164.48/122.01 (15) (new_primModNatS02(x769, x768)=Succ(x747) & x769=Succ(x767) & x768=Zero & Zero=x768 ==> new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(x769)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(x769)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 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: 164.48/122.01 164.48/122.01 (16) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 We simplified constraint (15) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 164.48/122.01 164.48/122.01 (17) (new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 To summarize, we get the following constraints P__>=_ for the following pairs. 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x1)))), Integer(Pos(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'1(False, x24, x25)_>=_new_gcd0Gcd'0(x24, new_rem(x25, x24))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Neg(Succ(Succ(x60)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x60)))), Integer(Pos(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Pos(Succ(Zero))), Integer(Pos(Succ(Succ(x67)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x67)))), Integer(Pos(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Pos(Succ(Succ(x70)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(x70)))), Integer(Neg(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Neg(Succ(Zero))), Integer(Neg(Succ(Succ(x73)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(x73)))), Integer(Neg(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x80))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x80))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x83))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x83))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x90))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x90))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Pos(Succ(Succ(Succ(x93))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x93))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x100))))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x100))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x103))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x103))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x110))))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x110))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'0(Integer(Neg(Succ(Succ(Succ(x113))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x113))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x115)))), Integer(Pos(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x135)))), Integer(Neg(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x155)))), Integer(Neg(Succ(Zero))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x509))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x496)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x504))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x505))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x514))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x501)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x213))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x551))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x551))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x581))))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x568)))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x576))))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x577))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x586))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Pos(Succ(Succ(Succ(Succ(x573)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x291))))), Integer(Pos(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(Succ(Succ(x623))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(Succ(Succ(x623))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x653))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(x640)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Succ(x648))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x649))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x658))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x645)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x369))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x695))), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x695))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x725))))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(x712)))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Succ(x720))))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x721))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x730))))))))_>=_new_gcd0Gcd'1(new_esEs(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))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(Zero))))), Integer(Neg(Succ(Succ(Succ(Succ(x717)))))))_>=_new_gcd0Gcd'1(new_esEs(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)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x447))))), Integer(Neg(Succ(Succ(Zero)))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 *new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Zero))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Zero)))))))) 164.48/122.01 164.48/122.01 164.48/122.01 *(new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))_>=_new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(Succ(Succ(x767))), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(Succ(Succ(x767))))))))) 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 164.48/122.01 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. 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (878) 164.48/122.01 Obligation: 164.48/122.01 Q DP problem: 164.48/122.01 The TRS P consists of the following rules: 164.48/122.01 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.01 new_gcd0Gcd'1(False, vuz102, vuz104) -> new_gcd0Gcd'0(vuz102, new_rem(vuz104, vuz102)) 164.48/122.01 new_gcd0Gcd'0(vuz102, vuz109) -> new_gcd0Gcd'(vuz109, vuz102) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Pos(Succ(Zero)))) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(x0)))), Integer(Neg(Succ(Zero)))) 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Pos(Succ(Succ(Zero))))) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Pos(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Pos(Succ(Succ(Succ(x2)))))) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Pos(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Pos(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.01 new_gcd0Gcd'(Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Pos(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))), Integer(Neg(Succ(Succ(Succ(x3))))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(False, Integer(Neg(Succ(Succ(Succ(x2))))), Integer(Neg(Succ(Succ(Zero))))) 164.48/122.01 new_gcd0Gcd'(Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Integer(Neg(new_primModNatS1(Succ(x2), Succ(Zero))))), Integer(Neg(Succ(Succ(Zero)))), Integer(Neg(Succ(Succ(Succ(x2)))))) 164.48/122.01 164.48/122.01 The TRS R consists of the following rules: 164.48/122.01 164.48/122.01 new_primRemInt(Pos(vuz750), Neg(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.01 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Succ(vuz1330)) -> new_primModNatS01(vuz130, vuz131, vuz1320, vuz1330) 164.48/122.01 new_primRemInt(Pos(vuz750), Pos(Succ(vuz7400))) -> Pos(new_primModNatS1(vuz750, vuz7400)) 164.48/122.01 new_primModNatS1(Succ(Succ(vuz75000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz75000), Zero) 164.48/122.01 new_primModNatS1(Succ(Zero), Succ(vuz74000)) -> Succ(Zero) 164.48/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 164.48/122.01 new_primMinusNatS2(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS2(vuz970, vuz980) 164.48/122.01 new_primModNatS1(Succ(Succ(vuz75000)), Succ(vuz74000)) -> new_primModNatS01(vuz75000, vuz74000, vuz75000, vuz74000) 164.48/122.01 new_primModNatS01(vuz130, vuz131, Zero, Succ(vuz1330)) -> Succ(Succ(vuz130)) 164.48/122.01 new_primMinusNatS0(vuz32000) -> Succ(vuz32000) 164.48/122.01 new_primRemInt(Neg(vuz750), Neg(Zero)) -> new_error 164.48/122.01 new_primRemInt(Neg(vuz750), Pos(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.01 new_primRemInt(Pos(vuz750), Pos(Zero)) -> new_error 164.48/122.01 new_primModNatS1(Zero, vuz7400) -> Zero 164.48/122.01 new_esEs(Integer(Pos(Succ(vuz106000)))) -> False 164.48/122.01 new_rem(Integer(vuz1040), Integer(vuz1020)) -> Integer(new_primRemInt(vuz1040, vuz1020)) 164.48/122.01 new_primMinusNatS2(Zero, Succ(vuz980)) -> Zero 164.48/122.01 new_error -> error([]) 164.48/122.01 new_primModNatS01(vuz130, vuz131, Zero, Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 164.48/122.01 new_primModNatS01(vuz130, vuz131, Succ(vuz1320), Zero) -> new_primModNatS02(vuz130, vuz131) 164.48/122.01 new_esEs(Integer(Neg(Zero))) -> True 164.48/122.01 new_primModNatS02(vuz130, vuz131) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz130), Succ(vuz131)), Succ(vuz131)) 164.48/122.01 new_esEs(Integer(Pos(Zero))) -> True 164.48/122.01 new_esEs(Integer(Neg(Succ(vuz106000)))) -> False 164.48/122.01 new_primRemInt(Neg(vuz750), Neg(Succ(vuz7400))) -> Neg(new_primModNatS1(vuz750, vuz7400)) 164.48/122.01 new_primMinusNatS1 -> Zero 164.48/122.01 new_primMinusNatS2(Succ(vuz970), Zero) -> Succ(vuz970) 164.48/122.01 new_primRemInt(Pos(vuz750), Neg(Zero)) -> new_error 164.48/122.01 new_primRemInt(Neg(vuz750), Pos(Zero)) -> new_error 164.48/122.01 164.48/122.01 The set Q consists of the following terms: 164.48/122.01 164.48/122.01 new_primRemInt(Pos(x0), Neg(Zero)) 164.48/122.01 new_primRemInt(Neg(x0), Pos(Zero)) 164.48/122.01 new_primMinusNatS0(x0) 164.48/122.01 new_primMinusNatS1 164.48/122.01 new_esEs(Integer(Pos(Zero))) 164.48/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 164.48/122.01 new_primRemInt(Neg(x0), Neg(Zero)) 164.48/122.01 new_esEs(Integer(Neg(Succ(x0)))) 164.48/122.01 new_primMinusNatS2(Succ(x0), Zero) 164.48/122.01 new_primMinusNatS2(Zero, Zero) 164.48/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 164.48/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 164.48/122.01 new_primModNatS02(x0, x1) 164.48/122.01 new_primRemInt(Pos(x0), Pos(Zero)) 164.48/122.01 new_error 164.48/122.01 new_primModNatS1(Succ(Zero), Zero) 164.48/122.01 new_rem(Integer(x0), Integer(x1)) 164.48/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 164.48/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 164.48/122.01 new_primRemInt(Neg(x0), Neg(Succ(x1))) 164.48/122.01 new_primRemInt(Pos(x0), Neg(Succ(x1))) 164.48/122.01 new_primRemInt(Neg(x0), Pos(Succ(x1))) 164.48/122.01 new_esEs(Integer(Neg(Zero))) 164.48/122.01 new_primRemInt(Pos(x0), Pos(Succ(x1))) 164.48/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 164.48/122.01 new_esEs(Integer(Pos(Succ(x0)))) 164.48/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 164.48/122.01 new_primMinusNatS2(Zero, Succ(x0)) 164.48/122.01 new_primModNatS01(x0, x1, Zero, Zero) 164.48/122.01 new_primModNatS1(Zero, x0) 164.48/122.01 164.48/122.01 We have to consider all minimal (P,Q,R)-chains. 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (879) 164.48/122.01 Obligation: 164.48/122.01 Q DP problem: 164.48/122.01 The TRS P consists of the following rules: 164.48/122.01 164.48/122.01 new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) 164.48/122.01 164.48/122.01 R is empty. 164.48/122.01 Q is empty. 164.48/122.01 We have to consider all minimal (P,Q,R)-chains. 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (880) QDPSizeChangeProof (EQUIVALENT) 164.48/122.01 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. 164.48/122.01 164.48/122.01 From the DPs we obtained the following set of size-change graphs: 164.48/122.01 *new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) 164.48/122.01 The graph contains the following edges 1 > 1, 2 >= 2 164.48/122.01 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (881) 164.48/122.01 YES 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (882) 164.48/122.01 Obligation: 164.48/122.01 Q DP problem: 164.48/122.01 The TRS P consists of the following rules: 164.48/122.01 164.48/122.01 new_primMinusNatS(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS(vuz970, vuz980) 164.48/122.01 164.48/122.01 R is empty. 164.48/122.01 Q is empty. 164.48/122.01 We have to consider all minimal (P,Q,R)-chains. 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (883) QDPSizeChangeProof (EQUIVALENT) 164.48/122.01 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. 164.48/122.01 164.48/122.01 From the DPs we obtained the following set of size-change graphs: 164.48/122.01 *new_primMinusNatS(Succ(vuz970), Succ(vuz980)) -> new_primMinusNatS(vuz970, vuz980) 164.48/122.01 The graph contains the following edges 1 > 1, 2 > 2 164.48/122.01 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (884) 164.48/122.01 YES 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (885) 164.48/122.01 Obligation: 164.48/122.01 Q DP problem: 164.48/122.01 The TRS P consists of the following rules: 164.48/122.01 164.48/122.01 new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) 164.48/122.01 164.48/122.01 R is empty. 164.48/122.01 Q is empty. 164.48/122.01 We have to consider all minimal (P,Q,R)-chains. 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (886) QDPSizeChangeProof (EQUIVALENT) 164.48/122.01 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. 164.48/122.01 164.48/122.01 From the DPs we obtained the following set of size-change graphs: 164.48/122.01 *new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) 164.48/122.01 The graph contains the following edges 1 > 1, 2 > 2 164.48/122.01 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (887) 164.48/122.01 YES 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (888) 164.48/122.01 Obligation: 164.48/122.01 Q DP problem: 164.48/122.01 The TRS P consists of the following rules: 164.48/122.01 164.48/122.01 new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) 164.48/122.01 164.48/122.01 R is empty. 164.48/122.01 Q is empty. 164.48/122.01 We have to consider all minimal (P,Q,R)-chains. 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (889) QDPSizeChangeProof (EQUIVALENT) 164.48/122.01 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. 164.48/122.01 164.48/122.01 From the DPs we obtained the following set of size-change graphs: 164.48/122.01 *new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) 164.48/122.01 The graph contains the following edges 1 > 1, 2 > 2 164.48/122.01 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (890) 164.48/122.01 YES 164.48/122.01 164.48/122.01 ---------------------------------------- 164.48/122.01 164.48/122.01 (891) Narrow (COMPLETE) 164.48/122.01 Haskell To QDPs 164.48/122.01 164.48/122.01 digraph dp_graph { 164.48/122.01 node [outthreshold=100, inthreshold=100];1[label="(-)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 164.48/122.01 3[label="(-) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 164.48/122.01 4[label="(-) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1409[label="- :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1409[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1409 -> 5[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1410[label="- :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1410[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1410 -> 6[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1411[label="- :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1411[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1411 -> 7[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1412[label="- :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1412[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1412 -> 8[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1413[label="- :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1413[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1413 -> 9[label="",style="solid", color="blue", weight=3]; 164.48/122.01 5[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];5 -> 10[label="",style="solid", color="black", weight=3]; 164.48/122.01 6[label="(-) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1414[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];6 -> 1414[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1414 -> 11[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 7[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];7 -> 12[label="",style="solid", color="black", weight=3]; 164.48/122.01 8[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];8 -> 13[label="",style="solid", color="black", weight=3]; 164.48/122.01 9[label="(-) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 164.48/122.01 10[label="primMinusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1415[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];10 -> 1415[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1415 -> 15[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 11[label="(-) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1416[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];11 -> 1416[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1416 -> 16[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 12[label="primMinusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];12 -> 1417[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1417 -> 17[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1418[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];12 -> 1418[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1418 -> 18[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 13[label="primMinusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1419[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];13 -> 1419[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1419 -> 19[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 14[label="vuz3 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1420[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1420[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1420 -> 20[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 15[label="primMinusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1421[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];15 -> 1421[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1421 -> 21[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 16[label="(-) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];16 -> 22[label="",style="solid", color="black", weight=3]; 164.48/122.01 17[label="primMinusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1422[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1422[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1422 -> 23[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1423[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1423[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1423 -> 24[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 18[label="primMinusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1424[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1424[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1424 -> 25[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1425[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];18 -> 1425[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1425 -> 26[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 19[label="primMinusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1426[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];19 -> 1426[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1426 -> 27[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 20[label="vuz30 :% vuz31 + (negate vuz4)",fontsize=16,color="burlywood",shape="box"];1427[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1427[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1427 -> 28[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 21[label="primMinusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];21 -> 29[label="",style="solid", color="black", weight=3]; 164.48/122.01 22[label="Integer (primMinusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];22 -> 30[label="",style="dashed", color="green", weight=3]; 164.48/122.01 23[label="primMinusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 164.48/122.01 24[label="primMinusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 164.48/122.01 25[label="primMinusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 164.48/122.01 26[label="primMinusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 164.48/122.01 27[label="primMinusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 164.48/122.01 28[label="vuz30 :% vuz31 + (negate vuz40 :% vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 164.48/122.01 29[label="Double (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];29 -> 37[label="",style="dashed", color="green", weight=3]; 164.48/122.01 29 -> 38[label="",style="dashed", color="green", weight=3]; 164.48/122.01 30 -> 12[label="",style="dashed", color="red", weight=0]; 164.48/122.01 30[label="primMinusInt vuz30 vuz40",fontsize=16,color="magenta"];30 -> 39[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 30 -> 40[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 31[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1428[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];31 -> 1428[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1428 -> 41[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1429[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 1429[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1429 -> 42[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 32[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];32 -> 43[label="",style="dashed", color="green", weight=3]; 164.48/122.01 33[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 164.48/122.01 34 -> 31[label="",style="dashed", color="red", weight=0]; 164.48/122.01 34[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];34 -> 45[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 34 -> 46[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 35[label="Float (vuz30 * vuz41 - vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];35 -> 47[label="",style="dashed", color="green", weight=3]; 164.48/122.01 35 -> 48[label="",style="dashed", color="green", weight=3]; 164.48/122.01 36 -> 49[label="",style="dashed", color="red", weight=0]; 164.48/122.01 36[label="vuz30 :% vuz31 + (negate vuz40) :% vuz41",fontsize=16,color="magenta"];36 -> 50[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 36 -> 51[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 36 -> 52[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 36 -> 53[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 37 -> 7[label="",style="dashed", color="red", weight=0]; 164.48/122.01 37[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];37 -> 54[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 37 -> 55[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 38[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];38 -> 56[label="",style="solid", color="black", weight=3]; 164.48/122.01 39[label="vuz40",fontsize=16,color="green",shape="box"];40[label="vuz30",fontsize=16,color="green",shape="box"];41[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1430[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];41 -> 1430[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1430 -> 57[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1431[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1431[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1431 -> 58[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 42[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1432[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];42 -> 1432[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1432 -> 59[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1433[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];42 -> 1433[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1433 -> 60[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 43[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1434[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];43 -> 1434[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1434 -> 61[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1435[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];43 -> 1435[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1435 -> 62[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 44 -> 43[label="",style="dashed", color="red", weight=0]; 164.48/122.01 44[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];44 -> 63[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 44 -> 64[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 45[label="vuz40",fontsize=16,color="green",shape="box"];46[label="vuz30",fontsize=16,color="green",shape="box"];47 -> 7[label="",style="dashed", color="red", weight=0]; 164.48/122.01 47[label="vuz30 * vuz41 - vuz40 * vuz31",fontsize=16,color="magenta"];47 -> 65[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 47 -> 66[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 48 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 48[label="vuz31 * vuz41",fontsize=16,color="magenta"];48 -> 67[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 48 -> 68[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 50[label="vuz41",fontsize=16,color="green",shape="box"];51[label="negate vuz40",fontsize=16,color="blue",shape="box"];1436[label="negate :: Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];51 -> 1436[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1436 -> 69[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1437[label="negate :: Int -> Int",fontsize=10,color="white",style="solid",shape="box"];51 -> 1437[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1437 -> 70[label="",style="solid", color="blue", weight=3]; 164.48/122.01 52[label="vuz31",fontsize=16,color="green",shape="box"];53[label="vuz30",fontsize=16,color="green",shape="box"];49[label="vuz10 :% vuz11 + vuz12 :% vuz13",fontsize=16,color="black",shape="triangle"];49 -> 71[label="",style="solid", color="black", weight=3]; 164.48/122.01 54 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 54[label="vuz40 * vuz31",fontsize=16,color="magenta"];54 -> 72[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 54 -> 73[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 55 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 55[label="vuz30 * vuz41",fontsize=16,color="magenta"];55 -> 74[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 56[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1438[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1438[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1438 -> 75[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1439[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];56 -> 1439[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1439 -> 76[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 57[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];57 -> 77[label="",style="solid", color="black", weight=3]; 164.48/122.01 58[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];58 -> 78[label="",style="solid", color="black", weight=3]; 164.48/122.01 59[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];59 -> 79[label="",style="solid", color="black", weight=3]; 164.48/122.01 60[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];60 -> 80[label="",style="solid", color="black", weight=3]; 164.48/122.01 61[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1440[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];61 -> 1440[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1440 -> 81[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1441[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];61 -> 1441[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1441 -> 82[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 62[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1442[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];62 -> 1442[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1442 -> 83[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1443[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];62 -> 1443[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1443 -> 84[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 63[label="vuz40",fontsize=16,color="green",shape="box"];64[label="vuz30",fontsize=16,color="green",shape="box"];65 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 65[label="vuz40 * vuz31",fontsize=16,color="magenta"];65 -> 85[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 65 -> 86[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 66 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 66[label="vuz30 * vuz41",fontsize=16,color="magenta"];66 -> 87[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 66 -> 88[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 67[label="vuz41",fontsize=16,color="green",shape="box"];68[label="vuz31",fontsize=16,color="green",shape="box"];69[label="negate vuz40",fontsize=16,color="burlywood",shape="triangle"];1444[label="vuz40/Integer vuz400",fontsize=10,color="white",style="solid",shape="box"];69 -> 1444[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1444 -> 89[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 70[label="negate vuz40",fontsize=16,color="black",shape="triangle"];70 -> 90[label="",style="solid", color="black", weight=3]; 164.48/122.01 71[label="reduce (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];71 -> 91[label="",style="solid", color="black", weight=3]; 164.48/122.01 72[label="vuz31",fontsize=16,color="green",shape="box"];73[label="vuz40",fontsize=16,color="green",shape="box"];74[label="vuz30",fontsize=16,color="green",shape="box"];75[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1445[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1445[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1445 -> 92[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1446[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];75 -> 1446[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1446 -> 93[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 76[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1447[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1447[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1447 -> 94[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1448[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];76 -> 1448[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1448 -> 95[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 77 -> 31[label="",style="dashed", color="red", weight=0]; 164.48/122.01 77[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];77 -> 96[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 77 -> 97[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 78[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];79[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];80[label="Pos Zero",fontsize=16,color="green",shape="box"];81[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];81 -> 98[label="",style="solid", color="black", weight=3]; 164.48/122.01 82[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];82 -> 99[label="",style="solid", color="black", weight=3]; 164.48/122.01 83[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];83 -> 100[label="",style="solid", color="black", weight=3]; 164.48/122.01 84[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];84 -> 101[label="",style="solid", color="black", weight=3]; 164.48/122.01 85[label="vuz31",fontsize=16,color="green",shape="box"];86[label="vuz40",fontsize=16,color="green",shape="box"];87[label="vuz41",fontsize=16,color="green",shape="box"];88[label="vuz30",fontsize=16,color="green",shape="box"];89[label="negate Integer vuz400",fontsize=16,color="black",shape="box"];89 -> 102[label="",style="solid", color="black", weight=3]; 164.48/122.01 90[label="primNegInt vuz40",fontsize=16,color="burlywood",shape="triangle"];1449[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1449[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1449 -> 103[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1450[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];90 -> 1450[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1450 -> 104[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 91[label="reduce2 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13)",fontsize=16,color="black",shape="box"];91 -> 105[label="",style="solid", color="black", weight=3]; 164.48/122.01 92[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];92 -> 106[label="",style="solid", color="black", weight=3]; 164.48/122.01 93[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];93 -> 107[label="",style="solid", color="black", weight=3]; 164.48/122.01 94[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];94 -> 108[label="",style="solid", color="black", weight=3]; 164.48/122.01 95[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];95 -> 109[label="",style="solid", color="black", weight=3]; 164.48/122.01 96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];98 -> 110[label="",style="dashed", color="green", weight=3]; 164.48/122.01 99[label="Succ vuz300",fontsize=16,color="green",shape="box"];100[label="Succ vuz400",fontsize=16,color="green",shape="box"];101[label="Zero",fontsize=16,color="green",shape="box"];102[label="Integer (primNegInt vuz400)",fontsize=16,color="green",shape="box"];102 -> 111[label="",style="dashed", color="green", weight=3]; 164.48/122.01 103[label="primNegInt (Pos vuz400)",fontsize=16,color="black",shape="box"];103 -> 112[label="",style="solid", color="black", weight=3]; 164.48/122.01 104[label="primNegInt (Neg vuz400)",fontsize=16,color="black",shape="box"];104 -> 113[label="",style="solid", color="black", weight=3]; 164.48/122.01 105 -> 114[label="",style="dashed", color="red", weight=0]; 164.48/122.01 105[label="reduce2Reduce1 (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz10 * vuz13 + vuz12 * vuz11) (vuz11 * vuz13) (vuz11 * vuz13 == fromInt (Pos Zero))",fontsize=16,color="magenta"];105 -> 115[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 105 -> 116[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 105 -> 117[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 105 -> 118[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 105 -> 119[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 106[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];106 -> 120[label="",style="dashed", color="green", weight=3]; 164.48/122.01 107[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];107 -> 121[label="",style="dashed", color="green", weight=3]; 164.48/122.01 108[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 122[label="",style="dashed", color="green", weight=3]; 164.48/122.01 109[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 123[label="",style="dashed", color="green", weight=3]; 164.48/122.01 110 -> 43[label="",style="dashed", color="red", weight=0]; 164.48/122.01 110[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];110 -> 124[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 110 -> 125[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 111 -> 90[label="",style="dashed", color="red", weight=0]; 164.48/122.01 111[label="primNegInt vuz400",fontsize=16,color="magenta"];111 -> 126[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 112[label="Neg vuz400",fontsize=16,color="green",shape="box"];113[label="Pos vuz400",fontsize=16,color="green",shape="box"];115[label="vuz11",fontsize=16,color="green",shape="box"];116[label="vuz12",fontsize=16,color="green",shape="box"];117[label="vuz10",fontsize=16,color="green",shape="box"];118[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1451[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1451[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1451 -> 127[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1452[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];118 -> 1452[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1452 -> 128[label="",style="solid", color="blue", weight=3]; 164.48/122.01 119[label="vuz13",fontsize=16,color="green",shape="box"];114[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) vuz24",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz24/False",fontsize=10,color="white",style="solid",shape="box"];114 -> 1453[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1453 -> 129[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1454[label="vuz24/True",fontsize=10,color="white",style="solid",shape="box"];114 -> 1454[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1454 -> 130[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1455[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1455[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1455 -> 131[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1456[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1456[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1456 -> 132[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 121 -> 120[label="",style="dashed", color="red", weight=0]; 164.48/122.01 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 133[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 122 -> 120[label="",style="dashed", color="red", weight=0]; 164.48/122.01 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 134[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 123 -> 120[label="",style="dashed", color="red", weight=0]; 164.48/122.01 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 135[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 123 -> 136[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 124[label="vuz400",fontsize=16,color="green",shape="box"];125[label="vuz300",fontsize=16,color="green",shape="box"];126[label="vuz400",fontsize=16,color="green",shape="box"];127 -> 137[label="",style="dashed", color="red", weight=0]; 164.48/122.01 127[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];127 -> 138[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 128 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 128[label="vuz11 * vuz13 == fromInt (Pos Zero)",fontsize=16,color="magenta"];128 -> 1059[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 129[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) False",fontsize=16,color="black",shape="box"];129 -> 140[label="",style="solid", color="black", weight=3]; 164.48/122.01 130[label="reduce2Reduce1 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];130 -> 141[label="",style="solid", color="black", weight=3]; 164.48/122.01 131[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1457[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];131 -> 1457[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1457 -> 142[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1458[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];131 -> 1458[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1458 -> 143[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 132[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1459[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];132 -> 1459[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1459 -> 144[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1460[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];132 -> 1460[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1460 -> 145[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="vuz310",fontsize=16,color="green",shape="box"];135[label="vuz410",fontsize=16,color="green",shape="box"];136[label="vuz310",fontsize=16,color="green",shape="box"];138 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 138[label="vuz11 * vuz13",fontsize=16,color="magenta"];138 -> 146[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 138 -> 147[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 137[label="vuz25 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];137 -> 148[label="",style="solid", color="black", weight=3]; 164.48/122.01 1059[label="vuz11 * vuz13",fontsize=16,color="burlywood",shape="triangle"];1461[label="vuz11/Integer vuz110",fontsize=10,color="white",style="solid",shape="box"];1059 -> 1461[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1461 -> 1069[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1058[label="vuz106 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="triangle"];1462[label="vuz106/Integer vuz1060",fontsize=10,color="white",style="solid",shape="box"];1058 -> 1462[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1462 -> 1070[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 140[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) otherwise",fontsize=16,color="black",shape="box"];140 -> 150[label="",style="solid", color="black", weight=3]; 164.48/122.01 141[label="error []",fontsize=16,color="black",shape="box"];141 -> 151[label="",style="solid", color="black", weight=3]; 164.48/122.01 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 152[label="",style="solid", color="black", weight=3]; 164.48/122.01 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 153[label="",style="solid", color="black", weight=3]; 164.48/122.01 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 154[label="",style="solid", color="black", weight=3]; 164.48/122.01 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 155[label="",style="solid", color="black", weight=3]; 164.48/122.01 146[label="vuz13",fontsize=16,color="green",shape="box"];147[label="vuz11",fontsize=16,color="green",shape="box"];148[label="primEqInt vuz25 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1463[label="vuz25/Pos vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1463[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1463 -> 156[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1464[label="vuz25/Neg vuz250",fontsize=10,color="white",style="solid",shape="box"];148 -> 1464[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1464 -> 157[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1069[label="Integer vuz110 * vuz13",fontsize=16,color="burlywood",shape="box"];1465[label="vuz13/Integer vuz130",fontsize=10,color="white",style="solid",shape="box"];1069 -> 1465[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1465 -> 1077[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1070[label="Integer vuz1060 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];1070 -> 1078[label="",style="solid", color="black", weight=3]; 164.48/122.01 150[label="reduce2Reduce0 (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21) True",fontsize=16,color="black",shape="box"];150 -> 159[label="",style="solid", color="black", weight=3]; 164.48/122.01 151[label="error []",fontsize=16,color="red",shape="box"];152 -> 43[label="",style="dashed", color="red", weight=0]; 164.48/122.01 152[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];152 -> 160[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 152 -> 161[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 153[label="Zero",fontsize=16,color="green",shape="box"];154[label="Zero",fontsize=16,color="green",shape="box"];155[label="Zero",fontsize=16,color="green",shape="box"];156[label="primEqInt (Pos vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1466[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];156 -> 1466[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1466 -> 162[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1467[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];156 -> 1467[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1467 -> 163[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 157[label="primEqInt (Neg vuz250) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1468[label="vuz250/Succ vuz2500",fontsize=10,color="white",style="solid",shape="box"];157 -> 1468[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1468 -> 164[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1469[label="vuz250/Zero",fontsize=10,color="white",style="solid",shape="box"];157 -> 1469[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1469 -> 165[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1077[label="Integer vuz110 * Integer vuz130",fontsize=16,color="black",shape="box"];1077 -> 1100[label="",style="solid", color="black", weight=3]; 164.48/122.01 1078[label="Integer vuz1060 == Integer (Pos Zero)",fontsize=16,color="black",shape="box"];1078 -> 1101[label="",style="solid", color="black", weight=3]; 164.48/122.01 159[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"];159 -> 168[label="",style="dashed", color="green", weight=3]; 164.48/122.01 159 -> 169[label="",style="dashed", color="green", weight=3]; 164.48/122.01 160[label="Succ vuz4100",fontsize=16,color="green",shape="box"];161 -> 120[label="",style="dashed", color="red", weight=0]; 164.48/122.01 161[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];161 -> 170[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 161 -> 171[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 162[label="primEqInt (Pos (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];162 -> 172[label="",style="solid", color="black", weight=3]; 164.48/122.01 163[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];163 -> 173[label="",style="solid", color="black", weight=3]; 164.48/122.01 164[label="primEqInt (Neg (Succ vuz2500)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];164 -> 174[label="",style="solid", color="black", weight=3]; 164.48/122.01 165[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];165 -> 175[label="",style="solid", color="black", weight=3]; 164.48/122.01 1100[label="Integer (primMulInt vuz110 vuz130)",fontsize=16,color="green",shape="box"];1100 -> 1117[label="",style="dashed", color="green", weight=3]; 164.48/122.01 1101[label="primEqInt vuz1060 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1470[label="vuz1060/Pos vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1470[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1470 -> 1118[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1471[label="vuz1060/Neg vuz10600",fontsize=10,color="white",style="solid",shape="box"];1101 -> 1471[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1471 -> 1119[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 168[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1472[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];168 -> 1472[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1472 -> 179[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1473[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];168 -> 1473[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1473 -> 180[label="",style="solid", color="blue", weight=3]; 164.48/122.01 169[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="blue",shape="box"];1474[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];169 -> 1474[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1474 -> 181[label="",style="solid", color="blue", weight=3]; 164.48/122.01 1475[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];169 -> 1475[label="",style="solid", color="blue", weight=9]; 164.48/122.01 1475 -> 182[label="",style="solid", color="blue", weight=3]; 164.48/122.01 170[label="Succ vuz4100",fontsize=16,color="green",shape="box"];171[label="vuz3100",fontsize=16,color="green",shape="box"];172[label="primEqInt (Pos (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];172 -> 183[label="",style="solid", color="black", weight=3]; 164.48/122.01 173[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];173 -> 184[label="",style="solid", color="black", weight=3]; 164.48/122.01 174[label="primEqInt (Neg (Succ vuz2500)) (Pos Zero)",fontsize=16,color="black",shape="box"];174 -> 185[label="",style="solid", color="black", weight=3]; 164.48/122.01 175[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];175 -> 186[label="",style="solid", color="black", weight=3]; 164.48/122.01 1117 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1117[label="primMulInt vuz110 vuz130",fontsize=16,color="magenta"];1117 -> 1135[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1117 -> 1136[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1118[label="primEqInt (Pos vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1476[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1476[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1476 -> 1137[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1477[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1118 -> 1477[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1477 -> 1138[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1119[label="primEqInt (Neg vuz10600) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1478[label="vuz10600/Succ vuz106000",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1478[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1478 -> 1139[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1479[label="vuz10600/Zero",fontsize=10,color="white",style="solid",shape="box"];1119 -> 1479[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1479 -> 1140[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 179 -> 220[label="",style="dashed", color="red", weight=0]; 164.48/122.01 179[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];179 -> 221[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 179 -> 222[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 179 -> 223[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 180[label="(vuz20 * vuz21 + vuz22 * vuz23) `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1480[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];180 -> 1480[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1480 -> 194[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 181 -> 220[label="",style="dashed", color="red", weight=0]; 164.48/122.01 181[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="magenta"];181 -> 224[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 181 -> 225[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 181 -> 226[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 182[label="vuz23 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1481[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];182 -> 1481[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1481 -> 208[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 183[label="False",fontsize=16,color="green",shape="box"];184[label="True",fontsize=16,color="green",shape="box"];185[label="False",fontsize=16,color="green",shape="box"];186[label="True",fontsize=16,color="green",shape="box"];1135[label="vuz130",fontsize=16,color="green",shape="box"];1136[label="vuz110",fontsize=16,color="green",shape="box"];1137[label="primEqInt (Pos (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1137 -> 1151[label="",style="solid", color="black", weight=3]; 164.48/122.01 1138[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1138 -> 1152[label="",style="solid", color="black", weight=3]; 164.48/122.01 1139[label="primEqInt (Neg (Succ vuz106000)) (Pos Zero)",fontsize=16,color="black",shape="box"];1139 -> 1153[label="",style="solid", color="black", weight=3]; 164.48/122.01 1140[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];1140 -> 1154[label="",style="solid", color="black", weight=3]; 164.48/122.01 221 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 221[label="vuz23 * vuz21",fontsize=16,color="magenta"];221 -> 228[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 221 -> 229[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 222 -> 230[label="",style="dashed", color="red", weight=0]; 164.48/122.01 222[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];222 -> 231[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 222 -> 232[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 223 -> 230[label="",style="dashed", color="red", weight=0]; 164.48/122.01 223[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];223 -> 233[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 223 -> 234[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 220[label="vuz32 `quot` reduce2D vuz38 vuz33",fontsize=16,color="black",shape="triangle"];220 -> 237[label="",style="solid", color="black", weight=3]; 164.48/122.01 194[label="(Integer vuz200 * vuz21 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * vuz21 + vuz22 * vuz23) (vuz23 * vuz21)",fontsize=16,color="burlywood",shape="box"];1482[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];194 -> 1482[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1482 -> 238[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 224 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 224[label="vuz23 * vuz21",fontsize=16,color="magenta"];224 -> 239[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 224 -> 240[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 225 -> 230[label="",style="dashed", color="red", weight=0]; 164.48/122.01 225[label="vuz20 * vuz21 + vuz22 * vuz23",fontsize=16,color="magenta"];225 -> 235[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 225 -> 236[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 226 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 226[label="vuz23 * vuz21",fontsize=16,color="magenta"];226 -> 241[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 226 -> 242[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 208[label="Integer vuz230 * vuz21 `quot` reduce2D (vuz20 * vuz21 + vuz22 * Integer vuz230) (Integer vuz230 * vuz21)",fontsize=16,color="burlywood",shape="box"];1483[label="vuz21/Integer vuz210",fontsize=10,color="white",style="solid",shape="box"];208 -> 1483[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1483 -> 243[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1151[label="False",fontsize=16,color="green",shape="box"];1152[label="True",fontsize=16,color="green",shape="box"];1153[label="False",fontsize=16,color="green",shape="box"];1154[label="True",fontsize=16,color="green",shape="box"];228[label="vuz21",fontsize=16,color="green",shape="box"];229[label="vuz23",fontsize=16,color="green",shape="box"];231 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 231[label="vuz20 * vuz21",fontsize=16,color="magenta"];231 -> 248[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 231 -> 249[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 232 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 232[label="vuz22 * vuz23",fontsize=16,color="magenta"];232 -> 250[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 232 -> 251[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 230[label="vuz40 + vuz39",fontsize=16,color="black",shape="triangle"];230 -> 252[label="",style="solid", color="black", weight=3]; 164.48/122.01 233 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 233[label="vuz20 * vuz21",fontsize=16,color="magenta"];233 -> 253[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 233 -> 254[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 234 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 234[label="vuz22 * vuz23",fontsize=16,color="magenta"];234 -> 255[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 234 -> 256[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 237[label="primQuotInt vuz32 (reduce2D vuz38 vuz33)",fontsize=16,color="burlywood",shape="box"];1484[label="vuz32/Pos vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1484[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1484 -> 261[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1485[label="vuz32/Neg vuz320",fontsize=10,color="white",style="solid",shape="box"];237 -> 1485[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1485 -> 262[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 238[label="(Integer vuz200 * Integer vuz210 + vuz22 * vuz23) `quot` reduce2D (Integer vuz200 * Integer vuz210 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="black",shape="box"];238 -> 263[label="",style="solid", color="black", weight=3]; 164.48/122.01 239[label="vuz21",fontsize=16,color="green",shape="box"];240[label="vuz23",fontsize=16,color="green",shape="box"];235 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 235[label="vuz20 * vuz21",fontsize=16,color="magenta"];235 -> 257[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 235 -> 258[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 236 -> 38[label="",style="dashed", color="red", weight=0]; 164.48/122.01 236[label="vuz22 * vuz23",fontsize=16,color="magenta"];236 -> 259[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 236 -> 260[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 241[label="vuz21",fontsize=16,color="green",shape="box"];242[label="vuz23",fontsize=16,color="green",shape="box"];243[label="Integer vuz230 * Integer vuz210 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];243 -> 264[label="",style="solid", color="black", weight=3]; 164.48/122.01 248[label="vuz21",fontsize=16,color="green",shape="box"];249[label="vuz20",fontsize=16,color="green",shape="box"];250[label="vuz23",fontsize=16,color="green",shape="box"];251[label="vuz22",fontsize=16,color="green",shape="box"];252[label="primPlusInt vuz40 vuz39",fontsize=16,color="burlywood",shape="triangle"];1486[label="vuz40/Pos vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1486[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1486 -> 269[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1487[label="vuz40/Neg vuz400",fontsize=10,color="white",style="solid",shape="box"];252 -> 1487[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1487 -> 270[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 253[label="vuz21",fontsize=16,color="green",shape="box"];254[label="vuz20",fontsize=16,color="green",shape="box"];255[label="vuz23",fontsize=16,color="green",shape="box"];256[label="vuz22",fontsize=16,color="green",shape="box"];261[label="primQuotInt (Pos vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];261 -> 271[label="",style="solid", color="black", weight=3]; 164.48/122.01 262[label="primQuotInt (Neg vuz320) (reduce2D vuz38 vuz33)",fontsize=16,color="black",shape="box"];262 -> 272[label="",style="solid", color="black", weight=3]; 164.48/122.01 263 -> 273[label="",style="dashed", color="red", weight=0]; 164.48/122.01 263[label="(Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) `quot` reduce2D (Integer (primMulInt vuz200 vuz210) + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="magenta"];263 -> 274[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 263 -> 275[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 257[label="vuz21",fontsize=16,color="green",shape="box"];258[label="vuz20",fontsize=16,color="green",shape="box"];259[label="vuz23",fontsize=16,color="green",shape="box"];260[label="vuz22",fontsize=16,color="green",shape="box"];264 -> 276[label="",style="dashed", color="red", weight=0]; 164.48/122.01 264[label="Integer (primMulInt vuz230 vuz210) `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer (primMulInt vuz230 vuz210))",fontsize=16,color="magenta"];264 -> 277[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 264 -> 278[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 269[label="primPlusInt (Pos vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1488[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1488[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1488 -> 279[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1489[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];269 -> 1489[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1489 -> 280[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 270[label="primPlusInt (Neg vuz400) vuz39",fontsize=16,color="burlywood",shape="box"];1490[label="vuz39/Pos vuz390",fontsize=10,color="white",style="solid",shape="box"];270 -> 1490[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1490 -> 281[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1491[label="vuz39/Neg vuz390",fontsize=10,color="white",style="solid",shape="box"];270 -> 1491[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1491 -> 282[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 271 -> 415[label="",style="dashed", color="red", weight=0]; 164.48/122.01 271[label="primQuotInt (Pos vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];271 -> 416[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 272 -> 443[label="",style="dashed", color="red", weight=0]; 164.48/122.01 272[label="primQuotInt (Neg vuz320) (gcd vuz38 vuz33)",fontsize=16,color="magenta"];272 -> 444[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 274 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 274[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];274 -> 285[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 274 -> 286[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 275 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 275[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];275 -> 287[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 275 -> 288[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 273[label="(Integer vuz41 + vuz22 * vuz23) `quot` reduce2D (Integer vuz42 + vuz22 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1492[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];273 -> 1492[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1492 -> 289[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 277 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 277[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];277 -> 290[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 277 -> 291[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 278 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 278[label="primMulInt vuz230 vuz210",fontsize=16,color="magenta"];278 -> 292[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 278 -> 293[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 276[label="Integer vuz43 `quot` reduce2D (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];276 -> 294[label="",style="solid", color="black", weight=3]; 164.48/122.01 279[label="primPlusInt (Pos vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];279 -> 295[label="",style="solid", color="black", weight=3]; 164.48/122.01 280[label="primPlusInt (Pos vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];280 -> 296[label="",style="solid", color="black", weight=3]; 164.48/122.01 281[label="primPlusInt (Neg vuz400) (Pos vuz390)",fontsize=16,color="black",shape="box"];281 -> 297[label="",style="solid", color="black", weight=3]; 164.48/122.01 282[label="primPlusInt (Neg vuz400) (Neg vuz390)",fontsize=16,color="black",shape="box"];282 -> 298[label="",style="solid", color="black", weight=3]; 164.48/122.01 416[label="gcd vuz38 vuz33",fontsize=16,color="black",shape="triangle"];416 -> 432[label="",style="solid", color="black", weight=3]; 164.48/122.01 415[label="primQuotInt (Pos vuz320) vuz65",fontsize=16,color="burlywood",shape="triangle"];1493[label="vuz65/Pos vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1493[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1493 -> 433[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1494[label="vuz65/Neg vuz650",fontsize=10,color="white",style="solid",shape="box"];415 -> 1494[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1494 -> 434[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 444 -> 416[label="",style="dashed", color="red", weight=0]; 164.48/122.01 444[label="gcd vuz38 vuz33",fontsize=16,color="magenta"];443[label="primQuotInt (Neg vuz320) vuz68",fontsize=16,color="burlywood",shape="triangle"];1495[label="vuz68/Pos vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1495[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1495 -> 460[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1496[label="vuz68/Neg vuz680",fontsize=10,color="white",style="solid",shape="box"];443 -> 1496[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1496 -> 461[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 285[label="vuz210",fontsize=16,color="green",shape="box"];286[label="vuz200",fontsize=16,color="green",shape="box"];287[label="vuz210",fontsize=16,color="green",shape="box"];288[label="vuz200",fontsize=16,color="green",shape="box"];289[label="(Integer vuz41 + Integer vuz220 * vuz23) `quot` reduce2D (Integer vuz42 + Integer vuz220 * vuz23) (vuz23 * Integer vuz210)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz23/Integer vuz230",fontsize=10,color="white",style="solid",shape="box"];289 -> 1497[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1497 -> 301[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 290[label="vuz210",fontsize=16,color="green",shape="box"];291[label="vuz230",fontsize=16,color="green",shape="box"];292[label="vuz210",fontsize=16,color="green",shape="box"];293[label="vuz230",fontsize=16,color="green",shape="box"];294[label="Integer vuz43 `quot` gcd (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];294 -> 302[label="",style="solid", color="black", weight=3]; 164.48/122.01 295[label="Pos (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];295 -> 303[label="",style="dashed", color="green", weight=3]; 164.48/122.01 296 -> 31[label="",style="dashed", color="red", weight=0]; 164.48/122.01 296[label="primMinusNat vuz400 vuz390",fontsize=16,color="magenta"];296 -> 304[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 296 -> 305[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 297 -> 31[label="",style="dashed", color="red", weight=0]; 164.48/122.01 297[label="primMinusNat vuz390 vuz400",fontsize=16,color="magenta"];297 -> 306[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 297 -> 307[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 298[label="Neg (primPlusNat vuz400 vuz390)",fontsize=16,color="green",shape="box"];298 -> 308[label="",style="dashed", color="green", weight=3]; 164.48/122.01 432[label="gcd3 vuz38 vuz33",fontsize=16,color="black",shape="box"];432 -> 438[label="",style="solid", color="black", weight=3]; 164.48/122.01 433[label="primQuotInt (Pos vuz320) (Pos vuz650)",fontsize=16,color="burlywood",shape="box"];1498[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];433 -> 1498[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1498 -> 439[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1499[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];433 -> 1499[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1499 -> 440[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 434[label="primQuotInt (Pos vuz320) (Neg vuz650)",fontsize=16,color="burlywood",shape="box"];1500[label="vuz650/Succ vuz6500",fontsize=10,color="white",style="solid",shape="box"];434 -> 1500[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1500 -> 441[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1501[label="vuz650/Zero",fontsize=10,color="white",style="solid",shape="box"];434 -> 1501[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1501 -> 442[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 460[label="primQuotInt (Neg vuz320) (Pos vuz680)",fontsize=16,color="burlywood",shape="box"];1502[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];460 -> 1502[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1502 -> 464[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1503[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];460 -> 1503[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1503 -> 465[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 461[label="primQuotInt (Neg vuz320) (Neg vuz680)",fontsize=16,color="burlywood",shape="box"];1504[label="vuz680/Succ vuz6800",fontsize=10,color="white",style="solid",shape="box"];461 -> 1504[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1504 -> 466[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1505[label="vuz680/Zero",fontsize=10,color="white",style="solid",shape="box"];461 -> 1505[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1505 -> 467[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 301[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"];301 -> 313[label="",style="solid", color="black", weight=3]; 164.48/122.01 302[label="Integer vuz43 `quot` gcd3 (vuz20 * Integer vuz210 + vuz22 * Integer vuz230) (Integer vuz44)",fontsize=16,color="black",shape="box"];302 -> 314[label="",style="solid", color="black", weight=3]; 164.48/122.01 303 -> 43[label="",style="dashed", color="red", weight=0]; 164.48/122.01 303[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];303 -> 315[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 303 -> 316[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 304[label="vuz400",fontsize=16,color="green",shape="box"];305[label="vuz390",fontsize=16,color="green",shape="box"];306[label="vuz390",fontsize=16,color="green",shape="box"];307[label="vuz400",fontsize=16,color="green",shape="box"];308 -> 43[label="",style="dashed", color="red", weight=0]; 164.48/122.01 308[label="primPlusNat vuz400 vuz390",fontsize=16,color="magenta"];308 -> 317[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 308 -> 318[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 438 -> 462[label="",style="dashed", color="red", weight=0]; 164.48/122.01 438[label="gcd2 (vuz38 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];438 -> 463[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 439[label="primQuotInt (Pos vuz320) (Pos (Succ vuz6500))",fontsize=16,color="black",shape="box"];439 -> 468[label="",style="solid", color="black", weight=3]; 164.48/122.01 440[label="primQuotInt (Pos vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];440 -> 469[label="",style="solid", color="black", weight=3]; 164.48/122.01 441[label="primQuotInt (Pos vuz320) (Neg (Succ vuz6500))",fontsize=16,color="black",shape="box"];441 -> 470[label="",style="solid", color="black", weight=3]; 164.48/122.01 442[label="primQuotInt (Pos vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];442 -> 471[label="",style="solid", color="black", weight=3]; 164.48/122.01 464[label="primQuotInt (Neg vuz320) (Pos (Succ vuz6800))",fontsize=16,color="black",shape="box"];464 -> 482[label="",style="solid", color="black", weight=3]; 164.48/122.01 465[label="primQuotInt (Neg vuz320) (Pos Zero)",fontsize=16,color="black",shape="box"];465 -> 483[label="",style="solid", color="black", weight=3]; 164.48/122.01 466[label="primQuotInt (Neg vuz320) (Neg (Succ vuz6800))",fontsize=16,color="black",shape="box"];466 -> 484[label="",style="solid", color="black", weight=3]; 164.48/122.01 467[label="primQuotInt (Neg vuz320) (Neg Zero)",fontsize=16,color="black",shape="box"];467 -> 485[label="",style="solid", color="black", weight=3]; 164.48/122.01 313 -> 325[label="",style="dashed", color="red", weight=0]; 164.48/122.01 313[label="(Integer vuz41 + Integer (primMulInt vuz220 vuz230)) `quot` reduce2D (Integer vuz42 + Integer (primMulInt vuz220 vuz230)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];313 -> 326[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 313 -> 327[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 314[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"];1506[label="vuz20/Integer vuz200",fontsize=10,color="white",style="solid",shape="box"];314 -> 1506[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1506 -> 328[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 315[label="vuz390",fontsize=16,color="green",shape="box"];316[label="vuz400",fontsize=16,color="green",shape="box"];317[label="vuz390",fontsize=16,color="green",shape="box"];318[label="vuz400",fontsize=16,color="green",shape="box"];463 -> 137[label="",style="dashed", color="red", weight=0]; 164.48/122.01 463[label="vuz38 == fromInt (Pos Zero)",fontsize=16,color="magenta"];463 -> 472[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 462[label="gcd2 vuz69 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1507[label="vuz69/False",fontsize=10,color="white",style="solid",shape="box"];462 -> 1507[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1507 -> 473[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1508[label="vuz69/True",fontsize=10,color="white",style="solid",shape="box"];462 -> 1508[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1508 -> 474[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 468[label="Pos (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];468 -> 486[label="",style="dashed", color="green", weight=3]; 164.48/122.01 469[label="error []",fontsize=16,color="black",shape="triangle"];469 -> 487[label="",style="solid", color="black", weight=3]; 164.48/122.01 470[label="Neg (primDivNatS vuz320 (Succ vuz6500))",fontsize=16,color="green",shape="box"];470 -> 488[label="",style="dashed", color="green", weight=3]; 164.48/122.01 471 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 471[label="error []",fontsize=16,color="magenta"];482[label="Neg (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];482 -> 494[label="",style="dashed", color="green", weight=3]; 164.48/122.01 483 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 483[label="error []",fontsize=16,color="magenta"];484[label="Pos (primDivNatS vuz320 (Succ vuz6800))",fontsize=16,color="green",shape="box"];484 -> 495[label="",style="dashed", color="green", weight=3]; 164.48/122.01 485 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 485[label="error []",fontsize=16,color="magenta"];326 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 326[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];326 -> 333[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 326 -> 334[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 327 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 327[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];327 -> 335[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 327 -> 336[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 325[label="(Integer vuz41 + Integer vuz47) `quot` reduce2D (Integer vuz42 + Integer vuz48) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];325 -> 337[label="",style="solid", color="black", weight=3]; 164.48/122.01 328[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"];328 -> 338[label="",style="solid", color="black", weight=3]; 164.48/122.01 472[label="vuz38",fontsize=16,color="green",shape="box"];473[label="gcd2 False vuz38 vuz33",fontsize=16,color="black",shape="box"];473 -> 489[label="",style="solid", color="black", weight=3]; 164.48/122.01 474[label="gcd2 True vuz38 vuz33",fontsize=16,color="black",shape="box"];474 -> 490[label="",style="solid", color="black", weight=3]; 164.48/122.01 486[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="burlywood",shape="triangle"];1509[label="vuz320/Succ vuz3200",fontsize=10,color="white",style="solid",shape="box"];486 -> 1509[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1509 -> 496[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1510[label="vuz320/Zero",fontsize=10,color="white",style="solid",shape="box"];486 -> 1510[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1510 -> 497[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 487[label="error []",fontsize=16,color="red",shape="box"];488 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 488[label="primDivNatS vuz320 (Succ vuz6500)",fontsize=16,color="magenta"];488 -> 498[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 494 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 494[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];494 -> 502[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 494 -> 503[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 495 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 495[label="primDivNatS vuz320 (Succ vuz6800)",fontsize=16,color="magenta"];495 -> 504[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 495 -> 505[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 333[label="vuz230",fontsize=16,color="green",shape="box"];334[label="vuz220",fontsize=16,color="green",shape="box"];335[label="vuz230",fontsize=16,color="green",shape="box"];336[label="vuz220",fontsize=16,color="green",shape="box"];337 -> 345[label="",style="dashed", color="red", weight=0]; 164.48/122.01 337[label="Integer (primPlusInt vuz41 vuz47) `quot` reduce2D (Integer (primPlusInt vuz41 vuz47)) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];337 -> 346[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 337 -> 347[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 338 -> 348[label="",style="dashed", color="red", weight=0]; 164.48/122.01 338[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"];338 -> 349[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 338 -> 350[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 489[label="gcd0 vuz38 vuz33",fontsize=16,color="black",shape="triangle"];489 -> 499[label="",style="solid", color="black", weight=3]; 164.48/122.01 490 -> 500[label="",style="dashed", color="red", weight=0]; 164.48/122.01 490[label="gcd1 (vuz33 == fromInt (Pos Zero)) vuz38 vuz33",fontsize=16,color="magenta"];490 -> 501[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 496[label="primDivNatS (Succ vuz3200) (Succ vuz6500)",fontsize=16,color="black",shape="box"];496 -> 506[label="",style="solid", color="black", weight=3]; 164.48/122.01 497[label="primDivNatS Zero (Succ vuz6500)",fontsize=16,color="black",shape="box"];497 -> 507[label="",style="solid", color="black", weight=3]; 164.48/122.01 498[label="vuz6500",fontsize=16,color="green",shape="box"];502[label="vuz320",fontsize=16,color="green",shape="box"];503[label="vuz6800",fontsize=16,color="green",shape="box"];504[label="vuz320",fontsize=16,color="green",shape="box"];505[label="vuz6800",fontsize=16,color="green",shape="box"];346 -> 252[label="",style="dashed", color="red", weight=0]; 164.48/122.01 346[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];346 -> 359[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 346 -> 360[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 347 -> 252[label="",style="dashed", color="red", weight=0]; 164.48/122.01 347[label="primPlusInt vuz41 vuz47",fontsize=16,color="magenta"];347 -> 361[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 347 -> 362[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 345[label="Integer vuz51 `quot` reduce2D (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];345 -> 363[label="",style="solid", color="black", weight=3]; 164.48/122.01 349 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 349[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];349 -> 364[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 349 -> 365[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 350 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 350[label="primMulInt vuz200 vuz210",fontsize=16,color="magenta"];350 -> 366[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 350 -> 367[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 348[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"];1511[label="vuz22/Integer vuz220",fontsize=10,color="white",style="solid",shape="box"];348 -> 1511[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1511 -> 368[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 499[label="gcd0Gcd' (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];499 -> 508[label="",style="solid", color="black", weight=3]; 164.48/122.01 501 -> 137[label="",style="dashed", color="red", weight=0]; 164.48/122.01 501[label="vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];501 -> 509[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 500[label="gcd1 vuz71 vuz38 vuz33",fontsize=16,color="burlywood",shape="triangle"];1512[label="vuz71/False",fontsize=10,color="white",style="solid",shape="box"];500 -> 1512[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1512 -> 510[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1513[label="vuz71/True",fontsize=10,color="white",style="solid",shape="box"];500 -> 1513[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1513 -> 511[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 506[label="primDivNatS0 vuz3200 vuz6500 (primGEqNatS vuz3200 vuz6500)",fontsize=16,color="burlywood",shape="box"];1514[label="vuz3200/Succ vuz32000",fontsize=10,color="white",style="solid",shape="box"];506 -> 1514[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1514 -> 521[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1515[label="vuz3200/Zero",fontsize=10,color="white",style="solid",shape="box"];506 -> 1515[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1515 -> 522[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 507[label="Zero",fontsize=16,color="green",shape="box"];359[label="vuz41",fontsize=16,color="green",shape="box"];360[label="vuz47",fontsize=16,color="green",shape="box"];361[label="vuz41",fontsize=16,color="green",shape="box"];362[label="vuz47",fontsize=16,color="green",shape="box"];363[label="Integer vuz51 `quot` gcd (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];363 -> 375[label="",style="solid", color="black", weight=3]; 164.48/122.01 364[label="vuz210",fontsize=16,color="green",shape="box"];365[label="vuz200",fontsize=16,color="green",shape="box"];366[label="vuz210",fontsize=16,color="green",shape="box"];367[label="vuz200",fontsize=16,color="green",shape="box"];368[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"];368 -> 376[label="",style="solid", color="black", weight=3]; 164.48/122.01 508[label="gcd0Gcd'2 (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];508 -> 523[label="",style="solid", color="black", weight=3]; 164.48/122.01 509[label="vuz33",fontsize=16,color="green",shape="box"];510[label="gcd1 False vuz38 vuz33",fontsize=16,color="black",shape="box"];510 -> 524[label="",style="solid", color="black", weight=3]; 164.48/122.01 511[label="gcd1 True vuz38 vuz33",fontsize=16,color="black",shape="box"];511 -> 525[label="",style="solid", color="black", weight=3]; 164.48/122.01 521[label="primDivNatS0 (Succ vuz32000) vuz6500 (primGEqNatS (Succ vuz32000) vuz6500)",fontsize=16,color="burlywood",shape="box"];1516[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];521 -> 1516[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1516 -> 529[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1517[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];521 -> 1517[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1517 -> 530[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 522[label="primDivNatS0 Zero vuz6500 (primGEqNatS Zero vuz6500)",fontsize=16,color="burlywood",shape="box"];1518[label="vuz6500/Succ vuz65000",fontsize=10,color="white",style="solid",shape="box"];522 -> 1518[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1518 -> 531[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1519[label="vuz6500/Zero",fontsize=10,color="white",style="solid",shape="box"];522 -> 1519[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1519 -> 532[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 375[label="Integer vuz51 `quot` gcd3 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];375 -> 383[label="",style="solid", color="black", weight=3]; 164.48/122.01 376 -> 384[label="",style="dashed", color="red", weight=0]; 164.48/122.01 376[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"];376 -> 385[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 376 -> 386[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 523 -> 533[label="",style="dashed", color="red", weight=0]; 164.48/122.01 523[label="gcd0Gcd'1 (abs vuz33 == fromInt (Pos Zero)) (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];523 -> 534[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 524 -> 489[label="",style="dashed", color="red", weight=0]; 164.48/122.01 524[label="gcd0 vuz38 vuz33",fontsize=16,color="magenta"];525 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 525[label="error []",fontsize=16,color="magenta"];529[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS (Succ vuz32000) (Succ vuz65000))",fontsize=16,color="black",shape="box"];529 -> 535[label="",style="solid", color="black", weight=3]; 164.48/122.01 530[label="primDivNatS0 (Succ vuz32000) Zero (primGEqNatS (Succ vuz32000) Zero)",fontsize=16,color="black",shape="box"];530 -> 536[label="",style="solid", color="black", weight=3]; 164.48/122.01 531[label="primDivNatS0 Zero (Succ vuz65000) (primGEqNatS Zero (Succ vuz65000))",fontsize=16,color="black",shape="box"];531 -> 537[label="",style="solid", color="black", weight=3]; 164.48/122.01 532[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];532 -> 538[label="",style="solid", color="black", weight=3]; 164.48/122.01 383 -> 393[label="",style="dashed", color="red", weight=0]; 164.48/122.01 383[label="Integer vuz51 `quot` gcd2 (Integer vuz52 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];383 -> 394[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 385 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 385[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];385 -> 395[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 385 -> 396[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 386 -> 56[label="",style="dashed", color="red", weight=0]; 164.48/122.01 386[label="primMulInt vuz220 vuz230",fontsize=16,color="magenta"];386 -> 397[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 386 -> 398[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 384[label="Integer vuz43 `quot` gcd2 (Integer vuz54 + Integer vuz58 == fromInt (Pos Zero)) (Integer vuz53 + Integer vuz57) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];384 -> 399[label="",style="solid", color="black", weight=3]; 164.48/122.01 534 -> 137[label="",style="dashed", color="red", weight=0]; 164.48/122.01 534[label="abs vuz33 == fromInt (Pos Zero)",fontsize=16,color="magenta"];534 -> 539[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 533[label="gcd0Gcd'1 vuz73 (abs vuz38) (abs vuz33)",fontsize=16,color="burlywood",shape="triangle"];1520[label="vuz73/False",fontsize=10,color="white",style="solid",shape="box"];533 -> 1520[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1520 -> 540[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1521[label="vuz73/True",fontsize=10,color="white",style="solid",shape="box"];533 -> 1521[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1521 -> 541[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 535 -> 869[label="",style="dashed", color="red", weight=0]; 164.48/122.01 535[label="primDivNatS0 (Succ vuz32000) (Succ vuz65000) (primGEqNatS vuz32000 vuz65000)",fontsize=16,color="magenta"];535 -> 870[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 535 -> 871[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 535 -> 872[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 535 -> 873[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 536[label="primDivNatS0 (Succ vuz32000) Zero True",fontsize=16,color="black",shape="box"];536 -> 551[label="",style="solid", color="black", weight=3]; 164.48/122.01 537[label="primDivNatS0 Zero (Succ vuz65000) False",fontsize=16,color="black",shape="box"];537 -> 552[label="",style="solid", color="black", weight=3]; 164.48/122.01 538[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];538 -> 553[label="",style="solid", color="black", weight=3]; 164.48/122.01 394 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 394[label="Integer vuz52 == fromInt (Pos Zero)",fontsize=16,color="magenta"];394 -> 1062[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 393[label="Integer vuz51 `quot` gcd2 vuz59 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1522[label="vuz59/False",fontsize=10,color="white",style="solid",shape="box"];393 -> 1522[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1522 -> 406[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1523[label="vuz59/True",fontsize=10,color="white",style="solid",shape="box"];393 -> 1523[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1523 -> 407[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 395[label="vuz230",fontsize=16,color="green",shape="box"];396[label="vuz220",fontsize=16,color="green",shape="box"];397[label="vuz230",fontsize=16,color="green",shape="box"];398[label="vuz220",fontsize=16,color="green",shape="box"];399 -> 408[label="",style="dashed", color="red", weight=0]; 164.48/122.01 399[label="Integer vuz43 `quot` gcd2 (Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)) (Integer (primPlusInt vuz54 vuz58)) (Integer vuz44)",fontsize=16,color="magenta"];399 -> 409[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 399 -> 410[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 539[label="abs vuz33",fontsize=16,color="black",shape="triangle"];539 -> 554[label="",style="solid", color="black", weight=3]; 164.48/122.01 540[label="gcd0Gcd'1 False (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];540 -> 555[label="",style="solid", color="black", weight=3]; 164.48/122.01 541[label="gcd0Gcd'1 True (abs vuz38) (abs vuz33)",fontsize=16,color="black",shape="box"];541 -> 556[label="",style="solid", color="black", weight=3]; 164.48/122.01 870[label="vuz32000",fontsize=16,color="green",shape="box"];871[label="vuz65000",fontsize=16,color="green",shape="box"];872[label="vuz32000",fontsize=16,color="green",shape="box"];873[label="vuz65000",fontsize=16,color="green",shape="box"];869[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz99 vuz100)",fontsize=16,color="burlywood",shape="triangle"];1524[label="vuz99/Succ vuz990",fontsize=10,color="white",style="solid",shape="box"];869 -> 1524[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1524 -> 902[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1525[label="vuz99/Zero",fontsize=10,color="white",style="solid",shape="box"];869 -> 1525[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1525 -> 903[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 551[label="Succ (primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];551 -> 566[label="",style="dashed", color="green", weight=3]; 164.48/122.01 552[label="Zero",fontsize=16,color="green",shape="box"];553[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];553 -> 567[label="",style="dashed", color="green", weight=3]; 164.48/122.01 1062[label="Integer vuz52",fontsize=16,color="green",shape="box"];406[label="Integer vuz51 `quot` gcd2 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];406 -> 475[label="",style="solid", color="black", weight=3]; 164.48/122.01 407[label="Integer vuz51 `quot` gcd2 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];407 -> 476[label="",style="solid", color="black", weight=3]; 164.48/122.01 409 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 409[label="Integer (primPlusInt vuz54 vuz58) == fromInt (Pos Zero)",fontsize=16,color="magenta"];409 -> 1063[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 410 -> 252[label="",style="dashed", color="red", weight=0]; 164.48/122.01 410[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];410 -> 478[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 410 -> 479[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 408[label="Integer vuz43 `quot` gcd2 vuz60 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1526[label="vuz60/False",fontsize=10,color="white",style="solid",shape="box"];408 -> 1526[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1526 -> 480[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1527[label="vuz60/True",fontsize=10,color="white",style="solid",shape="box"];408 -> 1527[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1527 -> 481[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 554[label="absReal vuz33",fontsize=16,color="black",shape="box"];554 -> 568[label="",style="solid", color="black", weight=3]; 164.48/122.01 555 -> 569[label="",style="dashed", color="red", weight=0]; 164.48/122.01 555[label="gcd0Gcd'0 (abs vuz38) (abs vuz33)",fontsize=16,color="magenta"];555 -> 570[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 555 -> 571[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 556 -> 539[label="",style="dashed", color="red", weight=0]; 164.48/122.01 556[label="abs vuz38",fontsize=16,color="magenta"];556 -> 572[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 902[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) vuz100)",fontsize=16,color="burlywood",shape="box"];1528[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];902 -> 1528[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1528 -> 914[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1529[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];902 -> 1529[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1529 -> 915[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 903[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero vuz100)",fontsize=16,color="burlywood",shape="box"];1530[label="vuz100/Succ vuz1000",fontsize=10,color="white",style="solid",shape="box"];903 -> 1530[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1530 -> 916[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1531[label="vuz100/Zero",fontsize=10,color="white",style="solid",shape="box"];903 -> 1531[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1531 -> 917[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 566 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 566[label="primDivNatS (primMinusNatS (Succ vuz32000) Zero) (Succ Zero)",fontsize=16,color="magenta"];566 -> 577[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 566 -> 578[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 567 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 567[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];567 -> 579[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 567 -> 580[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 475[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];475 -> 491[label="",style="solid", color="black", weight=3]; 164.48/122.01 476 -> 492[label="",style="dashed", color="red", weight=0]; 164.48/122.01 476[label="Integer vuz51 `quot` gcd1 (Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)) (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];476 -> 493[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1063[label="Integer (primPlusInt vuz54 vuz58)",fontsize=16,color="green",shape="box"];1063 -> 1071[label="",style="dashed", color="green", weight=3]; 164.48/122.01 478[label="vuz54",fontsize=16,color="green",shape="box"];479[label="vuz58",fontsize=16,color="green",shape="box"];480[label="Integer vuz43 `quot` gcd2 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];480 -> 514[label="",style="solid", color="black", weight=3]; 164.48/122.01 481[label="Integer vuz43 `quot` gcd2 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];481 -> 515[label="",style="solid", color="black", weight=3]; 164.48/122.01 568[label="absReal2 vuz33",fontsize=16,color="black",shape="box"];568 -> 581[label="",style="solid", color="black", weight=3]; 164.48/122.01 570 -> 539[label="",style="dashed", color="red", weight=0]; 164.48/122.01 570[label="abs vuz38",fontsize=16,color="magenta"];570 -> 582[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 571 -> 539[label="",style="dashed", color="red", weight=0]; 164.48/122.01 571[label="abs vuz33",fontsize=16,color="magenta"];569[label="gcd0Gcd'0 vuz75 vuz74",fontsize=16,color="black",shape="triangle"];569 -> 583[label="",style="solid", color="black", weight=3]; 164.48/122.01 572[label="vuz38",fontsize=16,color="green",shape="box"];914[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) (Succ vuz1000))",fontsize=16,color="black",shape="box"];914 -> 927[label="",style="solid", color="black", weight=3]; 164.48/122.01 915[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS (Succ vuz990) Zero)",fontsize=16,color="black",shape="box"];915 -> 928[label="",style="solid", color="black", weight=3]; 164.48/122.01 916[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero (Succ vuz1000))",fontsize=16,color="black",shape="box"];916 -> 929[label="",style="solid", color="black", weight=3]; 164.48/122.01 917[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];917 -> 930[label="",style="solid", color="black", weight=3]; 164.48/122.01 577[label="primMinusNatS (Succ vuz32000) Zero",fontsize=16,color="black",shape="triangle"];577 -> 592[label="",style="solid", color="black", weight=3]; 164.48/122.01 578[label="Zero",fontsize=16,color="green",shape="box"];579[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];579 -> 593[label="",style="solid", color="black", weight=3]; 164.48/122.01 580[label="Zero",fontsize=16,color="green",shape="box"];491[label="Integer vuz51 `quot` gcd0Gcd' (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];491 -> 516[label="",style="solid", color="black", weight=3]; 164.48/122.01 493 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 493[label="Integer vuz230 * Integer vuz210 == fromInt (Pos Zero)",fontsize=16,color="magenta"];493 -> 1064[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 492[label="Integer vuz51 `quot` gcd1 vuz70 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="burlywood",shape="triangle"];1532[label="vuz70/False",fontsize=10,color="white",style="solid",shape="box"];492 -> 1532[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1532 -> 519[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1533[label="vuz70/True",fontsize=10,color="white",style="solid",shape="box"];492 -> 1533[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1533 -> 520[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1071 -> 252[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1071[label="primPlusInt vuz54 vuz58",fontsize=16,color="magenta"];1071 -> 1079[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1071 -> 1080[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 514[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="triangle"];514 -> 526[label="",style="solid", color="black", weight=3]; 164.48/122.01 515 -> 527[label="",style="dashed", color="red", weight=0]; 164.48/122.01 515[label="Integer vuz43 `quot` gcd1 (Integer vuz44 == fromInt (Pos Zero)) (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];515 -> 528[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 581[label="absReal1 vuz33 (vuz33 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];581 -> 594[label="",style="solid", color="black", weight=3]; 164.48/122.01 582[label="vuz38",fontsize=16,color="green",shape="box"];583[label="gcd0Gcd' vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];583 -> 595[label="",style="solid", color="black", weight=3]; 164.48/122.01 927 -> 869[label="",style="dashed", color="red", weight=0]; 164.48/122.01 927[label="primDivNatS0 (Succ vuz97) (Succ vuz98) (primGEqNatS vuz990 vuz1000)",fontsize=16,color="magenta"];927 -> 939[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 927 -> 940[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 928[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="black",shape="triangle"];928 -> 941[label="",style="solid", color="black", weight=3]; 164.48/122.01 929[label="primDivNatS0 (Succ vuz97) (Succ vuz98) False",fontsize=16,color="black",shape="box"];929 -> 942[label="",style="solid", color="black", weight=3]; 164.48/122.01 930 -> 928[label="",style="dashed", color="red", weight=0]; 164.48/122.01 930[label="primDivNatS0 (Succ vuz97) (Succ vuz98) True",fontsize=16,color="magenta"];592[label="Succ vuz32000",fontsize=16,color="green",shape="box"];593[label="Zero",fontsize=16,color="green",shape="box"];516[label="Integer vuz51 `quot` gcd0Gcd'2 (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="black",shape="box"];516 -> 542[label="",style="solid", color="black", weight=3]; 164.48/122.01 1064 -> 1059[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1064[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1064 -> 1072[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1064 -> 1073[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 519[label="Integer vuz51 `quot` gcd1 False (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];519 -> 543[label="",style="solid", color="black", weight=3]; 164.48/122.01 520[label="Integer vuz51 `quot` gcd1 True (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="box"];520 -> 544[label="",style="solid", color="black", weight=3]; 164.48/122.01 1079[label="vuz54",fontsize=16,color="green",shape="box"];1080[label="vuz58",fontsize=16,color="green",shape="box"];526[label="Integer vuz43 `quot` gcd0Gcd' (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];526 -> 545[label="",style="solid", color="black", weight=3]; 164.48/122.01 528 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 528[label="Integer vuz44 == fromInt (Pos Zero)",fontsize=16,color="magenta"];528 -> 1065[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 527[label="Integer vuz43 `quot` gcd1 vuz72 (Integer vuz61) (Integer vuz44)",fontsize=16,color="burlywood",shape="triangle"];1534[label="vuz72/False",fontsize=10,color="white",style="solid",shape="box"];527 -> 1534[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1534 -> 547[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1535[label="vuz72/True",fontsize=10,color="white",style="solid",shape="box"];527 -> 1535[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1535 -> 548[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 594[label="absReal1 vuz33 (compare vuz33 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];594 -> 604[label="",style="solid", color="black", weight=3]; 164.48/122.01 595[label="gcd0Gcd'2 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];595 -> 605[label="",style="solid", color="black", weight=3]; 164.48/122.01 939[label="vuz990",fontsize=16,color="green",shape="box"];940[label="vuz1000",fontsize=16,color="green",shape="box"];941[label="Succ (primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98)))",fontsize=16,color="green",shape="box"];941 -> 1016[label="",style="dashed", color="green", weight=3]; 164.48/122.01 942[label="Zero",fontsize=16,color="green",shape="box"];542 -> 1041[label="",style="dashed", color="red", weight=0]; 164.48/122.01 542[label="Integer vuz51 `quot` gcd0Gcd'1 (abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)) (abs (Integer vuz52)) (abs (Integer vuz230 * Integer vuz210))",fontsize=16,color="magenta"];542 -> 1042[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 542 -> 1043[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 542 -> 1044[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1072[label="Integer vuz210",fontsize=16,color="green",shape="box"];1073[label="Integer vuz230",fontsize=16,color="green",shape="box"];543 -> 475[label="",style="dashed", color="red", weight=0]; 164.48/122.01 543[label="Integer vuz51 `quot` gcd0 (Integer vuz52) (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];544[label="Integer vuz51 `quot` error []",fontsize=16,color="black",shape="triangle"];544 -> 558[label="",style="solid", color="black", weight=3]; 164.48/122.01 545[label="Integer vuz43 `quot` gcd0Gcd'2 (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="black",shape="box"];545 -> 559[label="",style="solid", color="black", weight=3]; 164.48/122.01 1065[label="Integer vuz44",fontsize=16,color="green",shape="box"];547[label="Integer vuz43 `quot` gcd1 False (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];547 -> 560[label="",style="solid", color="black", weight=3]; 164.48/122.01 548[label="Integer vuz43 `quot` gcd1 True (Integer vuz61) (Integer vuz44)",fontsize=16,color="black",shape="box"];548 -> 561[label="",style="solid", color="black", weight=3]; 164.48/122.01 604[label="absReal1 vuz33 (not (compare vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];604 -> 616[label="",style="solid", color="black", weight=3]; 164.48/122.01 605 -> 617[label="",style="dashed", color="red", weight=0]; 164.48/122.01 605[label="gcd0Gcd'1 (vuz75 `rem` vuz74 == fromInt (Pos Zero)) vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];605 -> 618[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1016 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1016[label="primDivNatS (primMinusNatS (Succ vuz97) (Succ vuz98)) (Succ (Succ vuz98))",fontsize=16,color="magenta"];1016 -> 1028[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1016 -> 1029[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1042 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1042[label="abs (Integer vuz230 * Integer vuz210) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1042 -> 1066[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1043[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="black",shape="triangle"];1043 -> 1054[label="",style="solid", color="black", weight=3]; 164.48/122.01 1044[label="abs (Integer vuz52)",fontsize=16,color="black",shape="triangle"];1044 -> 1055[label="",style="solid", color="black", weight=3]; 164.48/122.01 1041[label="Integer vuz51 `quot` gcd0Gcd'1 vuz105 vuz104 vuz102",fontsize=16,color="burlywood",shape="triangle"];1536[label="vuz105/False",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1536[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1536 -> 1056[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1537[label="vuz105/True",fontsize=10,color="white",style="solid",shape="box"];1041 -> 1537[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1537 -> 1057[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 558[label="error []",fontsize=16,color="red",shape="box"];559 -> 1041[label="",style="dashed", color="red", weight=0]; 164.48/122.01 559[label="Integer vuz43 `quot` gcd0Gcd'1 (abs (Integer vuz44) == fromInt (Pos Zero)) (abs (Integer vuz61)) (abs (Integer vuz44))",fontsize=16,color="magenta"];559 -> 1047[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 559 -> 1048[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 559 -> 1049[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 559 -> 1050[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 560 -> 514[label="",style="dashed", color="red", weight=0]; 164.48/122.01 560[label="Integer vuz43 `quot` gcd0 (Integer vuz61) (Integer vuz44)",fontsize=16,color="magenta"];561 -> 544[label="",style="dashed", color="red", weight=0]; 164.48/122.01 561[label="Integer vuz43 `quot` error []",fontsize=16,color="magenta"];561 -> 586[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 616[label="absReal1 vuz33 (not (primCmpInt vuz33 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1538[label="vuz33/Pos vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1538[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1538 -> 626[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1539[label="vuz33/Neg vuz330",fontsize=10,color="white",style="solid",shape="box"];616 -> 1539[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1539 -> 627[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 618 -> 137[label="",style="dashed", color="red", weight=0]; 164.48/122.01 618[label="vuz75 `rem` vuz74 == fromInt (Pos Zero)",fontsize=16,color="magenta"];618 -> 628[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 617[label="gcd0Gcd'1 vuz76 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="burlywood",shape="triangle"];1540[label="vuz76/False",fontsize=10,color="white",style="solid",shape="box"];617 -> 1540[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1540 -> 629[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1541[label="vuz76/True",fontsize=10,color="white",style="solid",shape="box"];617 -> 1541[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1541 -> 630[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1028[label="primMinusNatS (Succ vuz97) (Succ vuz98)",fontsize=16,color="black",shape="box"];1028 -> 1039[label="",style="solid", color="black", weight=3]; 164.48/122.01 1029[label="Succ vuz98",fontsize=16,color="green",shape="box"];1066 -> 1043[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1066[label="abs (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1074[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1054[label="absReal (Integer vuz230 * Integer vuz210)",fontsize=16,color="magenta"];1054 -> 1075[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1055 -> 1074[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1055[label="absReal (Integer vuz52)",fontsize=16,color="magenta"];1055 -> 1076[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1056[label="Integer vuz51 `quot` gcd0Gcd'1 False vuz104 vuz102",fontsize=16,color="black",shape="box"];1056 -> 1081[label="",style="solid", color="black", weight=3]; 164.48/122.01 1057[label="Integer vuz51 `quot` gcd0Gcd'1 True vuz104 vuz102",fontsize=16,color="black",shape="box"];1057 -> 1082[label="",style="solid", color="black", weight=3]; 164.48/122.01 1047 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1047[label="abs (Integer vuz44) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1047 -> 1068[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1048[label="vuz43",fontsize=16,color="green",shape="box"];1049 -> 1044[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1049[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1049 -> 1083[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1050 -> 1044[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1050[label="abs (Integer vuz61)",fontsize=16,color="magenta"];1050 -> 1084[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 586[label="vuz43",fontsize=16,color="green",shape="box"];626[label="absReal1 (Pos vuz330) (not (primCmpInt (Pos vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1542[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];626 -> 1542[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1542 -> 640[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1543[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];626 -> 1543[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1543 -> 641[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 627[label="absReal1 (Neg vuz330) (not (primCmpInt (Neg vuz330) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1544[label="vuz330/Succ vuz3300",fontsize=10,color="white",style="solid",shape="box"];627 -> 1544[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1544 -> 642[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1545[label="vuz330/Zero",fontsize=10,color="white",style="solid",shape="box"];627 -> 1545[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1545 -> 643[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 628[label="vuz75 `rem` vuz74",fontsize=16,color="black",shape="triangle"];628 -> 644[label="",style="solid", color="black", weight=3]; 164.48/122.01 629[label="gcd0Gcd'1 False vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];629 -> 645[label="",style="solid", color="black", weight=3]; 164.48/122.01 630[label="gcd0Gcd'1 True vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="black",shape="box"];630 -> 646[label="",style="solid", color="black", weight=3]; 164.48/122.01 1039[label="primMinusNatS vuz97 vuz98",fontsize=16,color="burlywood",shape="triangle"];1546[label="vuz97/Succ vuz970",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1546[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1546 -> 1085[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1547[label="vuz97/Zero",fontsize=10,color="white",style="solid",shape="box"];1039 -> 1547[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1547 -> 1086[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1075 -> 1059[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1075[label="Integer vuz230 * Integer vuz210",fontsize=16,color="magenta"];1075 -> 1087[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1075 -> 1088[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1074[label="absReal vuz107",fontsize=16,color="black",shape="triangle"];1074 -> 1089[label="",style="solid", color="black", weight=3]; 164.48/122.01 1076[label="Integer vuz52",fontsize=16,color="green",shape="box"];1081[label="Integer vuz51 `quot` gcd0Gcd'0 vuz104 vuz102",fontsize=16,color="black",shape="box"];1081 -> 1102[label="",style="solid", color="black", weight=3]; 164.48/122.01 1082[label="Integer vuz51 `quot` vuz104",fontsize=16,color="burlywood",shape="triangle"];1548[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1082 -> 1548[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1548 -> 1103[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1068 -> 1044[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1068[label="abs (Integer vuz44)",fontsize=16,color="magenta"];1068 -> 1090[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1083[label="vuz44",fontsize=16,color="green",shape="box"];1084[label="vuz61",fontsize=16,color="green",shape="box"];640[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];640 -> 657[label="",style="solid", color="black", weight=3]; 164.48/122.01 641[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];641 -> 658[label="",style="solid", color="black", weight=3]; 164.48/122.01 642[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];642 -> 659[label="",style="solid", color="black", weight=3]; 164.48/122.01 643[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];643 -> 660[label="",style="solid", color="black", weight=3]; 164.48/122.01 644[label="primRemInt vuz75 vuz74",fontsize=16,color="burlywood",shape="triangle"];1549[label="vuz75/Pos vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1549[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1549 -> 661[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1550[label="vuz75/Neg vuz750",fontsize=10,color="white",style="solid",shape="box"];644 -> 1550[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1550 -> 662[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 645 -> 569[label="",style="dashed", color="red", weight=0]; 164.48/122.01 645[label="gcd0Gcd'0 vuz74 (vuz75 `rem` vuz74)",fontsize=16,color="magenta"];645 -> 663[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 645 -> 664[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 646[label="vuz74",fontsize=16,color="green",shape="box"];1085[label="primMinusNatS (Succ vuz970) vuz98",fontsize=16,color="burlywood",shape="box"];1551[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1551[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1551 -> 1104[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1552[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1552[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1552 -> 1105[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1086[label="primMinusNatS Zero vuz98",fontsize=16,color="burlywood",shape="box"];1553[label="vuz98/Succ vuz980",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1553[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1553 -> 1106[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1554[label="vuz98/Zero",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1554[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1554 -> 1107[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1087[label="Integer vuz210",fontsize=16,color="green",shape="box"];1088[label="Integer vuz230",fontsize=16,color="green",shape="box"];1089[label="absReal2 vuz107",fontsize=16,color="black",shape="box"];1089 -> 1108[label="",style="solid", color="black", weight=3]; 164.48/122.01 1102 -> 1082[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1102[label="Integer vuz51 `quot` gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1102 -> 1120[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1103[label="Integer vuz51 `quot` Integer vuz1040",fontsize=16,color="black",shape="box"];1103 -> 1121[label="",style="solid", color="black", weight=3]; 164.48/122.01 1090[label="vuz44",fontsize=16,color="green",shape="box"];657[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpInt (Pos (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];657 -> 683[label="",style="solid", color="black", weight=3]; 164.48/122.01 658[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];658 -> 684[label="",style="solid", color="black", weight=3]; 164.48/122.01 659[label="absReal1 (Neg (Succ vuz3300)) (not (primCmpInt (Neg (Succ vuz3300)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];659 -> 685[label="",style="solid", color="black", weight=3]; 164.48/122.01 660[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];660 -> 686[label="",style="solid", color="black", weight=3]; 164.48/122.01 661[label="primRemInt (Pos vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1555[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1555[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1555 -> 687[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1556[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];661 -> 1556[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1556 -> 688[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 662[label="primRemInt (Neg vuz750) vuz74",fontsize=16,color="burlywood",shape="box"];1557[label="vuz74/Pos vuz740",fontsize=10,color="white",style="solid",shape="box"];662 -> 1557[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1557 -> 689[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1558[label="vuz74/Neg vuz740",fontsize=10,color="white",style="solid",shape="box"];662 -> 1558[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1558 -> 690[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 663[label="vuz74",fontsize=16,color="green",shape="box"];664 -> 628[label="",style="dashed", color="red", weight=0]; 164.48/122.01 664[label="vuz75 `rem` vuz74",fontsize=16,color="magenta"];1104[label="primMinusNatS (Succ vuz970) (Succ vuz980)",fontsize=16,color="black",shape="box"];1104 -> 1122[label="",style="solid", color="black", weight=3]; 164.48/122.01 1105[label="primMinusNatS (Succ vuz970) Zero",fontsize=16,color="black",shape="box"];1105 -> 1123[label="",style="solid", color="black", weight=3]; 164.48/122.01 1106[label="primMinusNatS Zero (Succ vuz980)",fontsize=16,color="black",shape="box"];1106 -> 1124[label="",style="solid", color="black", weight=3]; 164.48/122.01 1107[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];1107 -> 1125[label="",style="solid", color="black", weight=3]; 164.48/122.01 1108[label="absReal1 vuz107 (vuz107 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];1108 -> 1126[label="",style="solid", color="black", weight=3]; 164.48/122.01 1120[label="gcd0Gcd' vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="triangle"];1120 -> 1141[label="",style="solid", color="black", weight=3]; 164.48/122.01 1121[label="Integer (primQuotInt vuz51 vuz1040)",fontsize=16,color="green",shape="box"];1121 -> 1142[label="",style="dashed", color="green", weight=3]; 164.48/122.01 683[label="absReal1 (Pos (Succ vuz3300)) (not (primCmpNat (Succ vuz3300) Zero == LT))",fontsize=16,color="black",shape="box"];683 -> 707[label="",style="solid", color="black", weight=3]; 164.48/122.01 684[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];684 -> 708[label="",style="solid", color="black", weight=3]; 164.48/122.01 685[label="absReal1 (Neg (Succ vuz3300)) (not (LT == LT))",fontsize=16,color="black",shape="box"];685 -> 709[label="",style="solid", color="black", weight=3]; 164.48/122.01 686[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 164.48/122.01 687[label="primRemInt (Pos vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1559[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];687 -> 1559[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1559 -> 711[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1560[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];687 -> 1560[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1560 -> 712[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 688[label="primRemInt (Pos vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1561[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];688 -> 1561[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1561 -> 713[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1562[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];688 -> 1562[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1562 -> 714[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 689[label="primRemInt (Neg vuz750) (Pos vuz740)",fontsize=16,color="burlywood",shape="box"];1563[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];689 -> 1563[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1563 -> 715[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1564[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];689 -> 1564[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1564 -> 716[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 690[label="primRemInt (Neg vuz750) (Neg vuz740)",fontsize=16,color="burlywood",shape="box"];1565[label="vuz740/Succ vuz7400",fontsize=10,color="white",style="solid",shape="box"];690 -> 1565[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1565 -> 717[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1566[label="vuz740/Zero",fontsize=10,color="white",style="solid",shape="box"];690 -> 1566[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1566 -> 718[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1122 -> 1039[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1122[label="primMinusNatS vuz970 vuz980",fontsize=16,color="magenta"];1122 -> 1143[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1122 -> 1144[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1123[label="Succ vuz970",fontsize=16,color="green",shape="box"];1124[label="Zero",fontsize=16,color="green",shape="box"];1125[label="Zero",fontsize=16,color="green",shape="box"];1126[label="absReal1 vuz107 (compare vuz107 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];1126 -> 1145[label="",style="solid", color="black", weight=3]; 164.48/122.01 1141[label="gcd0Gcd'2 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1141 -> 1155[label="",style="solid", color="black", weight=3]; 164.48/122.01 1142[label="primQuotInt vuz51 vuz1040",fontsize=16,color="burlywood",shape="box"];1567[label="vuz51/Pos vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1567[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1567 -> 1156[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1568[label="vuz51/Neg vuz510",fontsize=10,color="white",style="solid",shape="box"];1142 -> 1568[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1568 -> 1157[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 707[label="absReal1 (Pos (Succ vuz3300)) (not (GT == LT))",fontsize=16,color="black",shape="box"];707 -> 728[label="",style="solid", color="black", weight=3]; 164.48/122.01 708[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];708 -> 729[label="",style="solid", color="black", weight=3]; 164.48/122.01 709[label="absReal1 (Neg (Succ vuz3300)) (not True)",fontsize=16,color="black",shape="box"];709 -> 730[label="",style="solid", color="black", weight=3]; 164.48/122.01 710[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];710 -> 731[label="",style="solid", color="black", weight=3]; 164.48/122.01 711[label="primRemInt (Pos vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];711 -> 732[label="",style="solid", color="black", weight=3]; 164.48/122.01 712[label="primRemInt (Pos vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];712 -> 733[label="",style="solid", color="black", weight=3]; 164.48/122.01 713[label="primRemInt (Pos vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];713 -> 734[label="",style="solid", color="black", weight=3]; 164.48/122.01 714[label="primRemInt (Pos vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];714 -> 735[label="",style="solid", color="black", weight=3]; 164.48/122.01 715[label="primRemInt (Neg vuz750) (Pos (Succ vuz7400))",fontsize=16,color="black",shape="box"];715 -> 736[label="",style="solid", color="black", weight=3]; 164.48/122.01 716[label="primRemInt (Neg vuz750) (Pos Zero)",fontsize=16,color="black",shape="box"];716 -> 737[label="",style="solid", color="black", weight=3]; 164.48/122.01 717[label="primRemInt (Neg vuz750) (Neg (Succ vuz7400))",fontsize=16,color="black",shape="box"];717 -> 738[label="",style="solid", color="black", weight=3]; 164.48/122.01 718[label="primRemInt (Neg vuz750) (Neg Zero)",fontsize=16,color="black",shape="box"];718 -> 739[label="",style="solid", color="black", weight=3]; 164.48/122.01 1143[label="vuz970",fontsize=16,color="green",shape="box"];1144[label="vuz980",fontsize=16,color="green",shape="box"];1145[label="absReal1 vuz107 (not (compare vuz107 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1569[label="vuz107/Integer vuz1070",fontsize=10,color="white",style="solid",shape="box"];1145 -> 1569[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1569 -> 1158[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1155 -> 1167[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1155[label="gcd0Gcd'1 (vuz104 `rem` vuz102 == fromInt (Pos Zero)) vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1155 -> 1168[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1156[label="primQuotInt (Pos vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1570[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1570[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1570 -> 1169[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1571[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1156 -> 1571[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1571 -> 1170[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1157[label="primQuotInt (Neg vuz510) vuz1040",fontsize=16,color="burlywood",shape="box"];1572[label="vuz1040/Pos vuz10400",fontsize=10,color="white",style="solid",shape="box"];1157 -> 1572[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1572 -> 1171[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1573[label="vuz1040/Neg vuz10400",fontsize=10,color="white",style="solid",shape="box"];1157 -> 1573[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1573 -> 1172[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 728[label="absReal1 (Pos (Succ vuz3300)) (not False)",fontsize=16,color="black",shape="box"];728 -> 749[label="",style="solid", color="black", weight=3]; 164.48/122.01 729[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];729 -> 750[label="",style="solid", color="black", weight=3]; 164.48/122.01 730[label="absReal1 (Neg (Succ vuz3300)) False",fontsize=16,color="black",shape="box"];730 -> 751[label="",style="solid", color="black", weight=3]; 164.48/122.01 731[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];731 -> 752[label="",style="solid", color="black", weight=3]; 164.48/122.01 732[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];732 -> 753[label="",style="dashed", color="green", weight=3]; 164.48/122.01 733 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 733[label="error []",fontsize=16,color="magenta"];734[label="Pos (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];734 -> 754[label="",style="dashed", color="green", weight=3]; 164.48/122.01 735 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 735[label="error []",fontsize=16,color="magenta"];736[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];736 -> 755[label="",style="dashed", color="green", weight=3]; 164.48/122.01 737 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 737[label="error []",fontsize=16,color="magenta"];738[label="Neg (primModNatS vuz750 (Succ vuz7400))",fontsize=16,color="green",shape="box"];738 -> 756[label="",style="dashed", color="green", weight=3]; 164.48/122.01 739 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 739[label="error []",fontsize=16,color="magenta"];1158[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1158 -> 1173[label="",style="solid", color="black", weight=3]; 164.48/122.01 1168 -> 1058[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1168[label="vuz104 `rem` vuz102 == fromInt (Pos Zero)",fontsize=16,color="magenta"];1168 -> 1174[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1167[label="gcd0Gcd'1 vuz108 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="burlywood",shape="triangle"];1574[label="vuz108/False",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1574[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1574 -> 1175[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1575[label="vuz108/True",fontsize=10,color="white",style="solid",shape="box"];1167 -> 1575[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1575 -> 1176[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1169[label="primQuotInt (Pos vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1576[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1576[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1576 -> 1185[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1577[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1169 -> 1577[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1577 -> 1186[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1170[label="primQuotInt (Pos vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1578[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1170 -> 1578[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1578 -> 1187[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1579[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1170 -> 1579[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1579 -> 1188[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1171[label="primQuotInt (Neg vuz510) (Pos vuz10400)",fontsize=16,color="burlywood",shape="box"];1580[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1580[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1580 -> 1189[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1581[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1171 -> 1581[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1581 -> 1190[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1172[label="primQuotInt (Neg vuz510) (Neg vuz10400)",fontsize=16,color="burlywood",shape="box"];1582[label="vuz10400/Succ vuz104000",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1582[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1582 -> 1191[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1583[label="vuz10400/Zero",fontsize=10,color="white",style="solid",shape="box"];1172 -> 1583[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1583 -> 1192[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 749[label="absReal1 (Pos (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];749 -> 768[label="",style="solid", color="black", weight=3]; 164.48/122.01 750[label="Pos Zero",fontsize=16,color="green",shape="box"];751[label="absReal0 (Neg (Succ vuz3300)) otherwise",fontsize=16,color="black",shape="box"];751 -> 769[label="",style="solid", color="black", weight=3]; 164.48/122.01 752[label="Neg Zero",fontsize=16,color="green",shape="box"];753[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="burlywood",shape="triangle"];1584[label="vuz750/Succ vuz7500",fontsize=10,color="white",style="solid",shape="box"];753 -> 1584[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1584 -> 770[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1585[label="vuz750/Zero",fontsize=10,color="white",style="solid",shape="box"];753 -> 1585[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1585 -> 771[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 754 -> 753[label="",style="dashed", color="red", weight=0]; 164.48/122.01 754[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];754 -> 772[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 755 -> 753[label="",style="dashed", color="red", weight=0]; 164.48/122.01 755[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];755 -> 773[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 756 -> 753[label="",style="dashed", color="red", weight=0]; 164.48/122.01 756[label="primModNatS vuz750 (Succ vuz7400)",fontsize=16,color="magenta"];756 -> 774[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 756 -> 775[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1173[label="absReal1 (Integer vuz1070) (not (compare (Integer vuz1070) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];1173 -> 1193[label="",style="solid", color="black", weight=3]; 164.48/122.01 1174[label="vuz104 `rem` vuz102",fontsize=16,color="burlywood",shape="triangle"];1586[label="vuz104/Integer vuz1040",fontsize=10,color="white",style="solid",shape="box"];1174 -> 1586[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1586 -> 1194[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1175[label="gcd0Gcd'1 False vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1175 -> 1195[label="",style="solid", color="black", weight=3]; 164.48/122.01 1176[label="gcd0Gcd'1 True vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="black",shape="box"];1176 -> 1196[label="",style="solid", color="black", weight=3]; 164.48/122.01 1185[label="primQuotInt (Pos vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1185 -> 1202[label="",style="solid", color="black", weight=3]; 164.48/122.01 1186[label="primQuotInt (Pos vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1186 -> 1203[label="",style="solid", color="black", weight=3]; 164.48/122.01 1187[label="primQuotInt (Pos vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1187 -> 1204[label="",style="solid", color="black", weight=3]; 164.48/122.01 1188[label="primQuotInt (Pos vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1188 -> 1205[label="",style="solid", color="black", weight=3]; 164.48/122.01 1189[label="primQuotInt (Neg vuz510) (Pos (Succ vuz104000))",fontsize=16,color="black",shape="box"];1189 -> 1206[label="",style="solid", color="black", weight=3]; 164.48/122.01 1190[label="primQuotInt (Neg vuz510) (Pos Zero)",fontsize=16,color="black",shape="box"];1190 -> 1207[label="",style="solid", color="black", weight=3]; 164.48/122.01 1191[label="primQuotInt (Neg vuz510) (Neg (Succ vuz104000))",fontsize=16,color="black",shape="box"];1191 -> 1208[label="",style="solid", color="black", weight=3]; 164.48/122.01 1192[label="primQuotInt (Neg vuz510) (Neg Zero)",fontsize=16,color="black",shape="box"];1192 -> 1209[label="",style="solid", color="black", weight=3]; 164.48/122.01 768[label="Pos (Succ vuz3300)",fontsize=16,color="green",shape="box"];769[label="absReal0 (Neg (Succ vuz3300)) True",fontsize=16,color="black",shape="box"];769 -> 788[label="",style="solid", color="black", weight=3]; 164.48/122.01 770[label="primModNatS (Succ vuz7500) (Succ vuz7400)",fontsize=16,color="black",shape="box"];770 -> 789[label="",style="solid", color="black", weight=3]; 164.48/122.01 771[label="primModNatS Zero (Succ vuz7400)",fontsize=16,color="black",shape="box"];771 -> 790[label="",style="solid", color="black", weight=3]; 164.48/122.01 772[label="vuz7400",fontsize=16,color="green",shape="box"];773[label="vuz750",fontsize=16,color="green",shape="box"];774[label="vuz750",fontsize=16,color="green",shape="box"];775[label="vuz7400",fontsize=16,color="green",shape="box"];1193[label="absReal1 (Integer vuz1070) (not (primCmpInt vuz1070 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1587[label="vuz1070/Pos vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1587[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1587 -> 1210[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1588[label="vuz1070/Neg vuz10700",fontsize=10,color="white",style="solid",shape="box"];1193 -> 1588[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1588 -> 1211[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1194[label="Integer vuz1040 `rem` vuz102",fontsize=16,color="burlywood",shape="box"];1589[label="vuz102/Integer vuz1020",fontsize=10,color="white",style="solid",shape="box"];1194 -> 1589[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1589 -> 1212[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1195 -> 1213[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1195[label="gcd0Gcd'0 vuz102 (vuz104 `rem` vuz102)",fontsize=16,color="magenta"];1195 -> 1214[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1196[label="vuz102",fontsize=16,color="green",shape="box"];1202[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1202 -> 1215[label="",style="dashed", color="green", weight=3]; 164.48/122.01 1203 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1203[label="error []",fontsize=16,color="magenta"];1204[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1204 -> 1216[label="",style="dashed", color="green", weight=3]; 164.48/122.01 1205 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1205[label="error []",fontsize=16,color="magenta"];1206[label="Neg (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1206 -> 1217[label="",style="dashed", color="green", weight=3]; 164.48/122.01 1207 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1207[label="error []",fontsize=16,color="magenta"];1208[label="Pos (primDivNatS vuz510 (Succ vuz104000))",fontsize=16,color="green",shape="box"];1208 -> 1218[label="",style="dashed", color="green", weight=3]; 164.48/122.01 1209 -> 469[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1209[label="error []",fontsize=16,color="magenta"];788 -> 70[label="",style="dashed", color="red", weight=0]; 164.48/122.01 788[label="`negate` Neg (Succ vuz3300)",fontsize=16,color="magenta"];788 -> 808[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 789[label="primModNatS0 vuz7500 vuz7400 (primGEqNatS vuz7500 vuz7400)",fontsize=16,color="burlywood",shape="box"];1590[label="vuz7500/Succ vuz75000",fontsize=10,color="white",style="solid",shape="box"];789 -> 1590[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1590 -> 809[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1591[label="vuz7500/Zero",fontsize=10,color="white",style="solid",shape="box"];789 -> 1591[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1591 -> 810[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 790[label="Zero",fontsize=16,color="green",shape="box"];1210[label="absReal1 (Integer (Pos vuz10700)) (not (primCmpInt (Pos vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1592[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1592[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1592 -> 1219[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1593[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1210 -> 1593[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1593 -> 1220[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1211[label="absReal1 (Integer (Neg vuz10700)) (not (primCmpInt (Neg vuz10700) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1594[label="vuz10700/Succ vuz107000",fontsize=10,color="white",style="solid",shape="box"];1211 -> 1594[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1594 -> 1221[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1595[label="vuz10700/Zero",fontsize=10,color="white",style="solid",shape="box"];1211 -> 1595[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1595 -> 1222[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1212[label="Integer vuz1040 `rem` Integer vuz1020",fontsize=16,color="black",shape="box"];1212 -> 1223[label="",style="solid", color="black", weight=3]; 164.48/122.01 1214 -> 1174[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1214[label="vuz104 `rem` vuz102",fontsize=16,color="magenta"];1213[label="gcd0Gcd'0 vuz102 vuz109",fontsize=16,color="black",shape="triangle"];1213 -> 1224[label="",style="solid", color="black", weight=3]; 164.48/122.01 1215 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1215[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1215 -> 1233[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1215 -> 1234[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1216 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1216[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1216 -> 1235[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1216 -> 1236[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1217 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1217[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1217 -> 1237[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1217 -> 1238[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1218 -> 486[label="",style="dashed", color="red", weight=0]; 164.48/122.01 1218[label="primDivNatS vuz510 (Succ vuz104000)",fontsize=16,color="magenta"];1218 -> 1239[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 1218 -> 1240[label="",style="dashed", color="magenta", weight=3]; 164.48/122.01 808[label="Neg (Succ vuz3300)",fontsize=16,color="green",shape="box"];809[label="primModNatS0 (Succ vuz75000) vuz7400 (primGEqNatS (Succ vuz75000) vuz7400)",fontsize=16,color="burlywood",shape="box"];1596[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];809 -> 1596[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1596 -> 840[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 1597[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];809 -> 1597[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1597 -> 841[label="",style="solid", color="burlywood", weight=3]; 164.48/122.01 810[label="primModNatS0 Zero vuz7400 (primGEqNatS Zero vuz7400)",fontsize=16,color="burlywood",shape="box"];1598[label="vuz7400/Succ vuz74000",fontsize=10,color="white",style="solid",shape="box"];810 -> 1598[label="",style="solid", color="burlywood", weight=9]; 164.48/122.01 1598 -> 842[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 1599[label="vuz7400/Zero",fontsize=10,color="white",style="solid",shape="box"];810 -> 1599[label="",style="solid", color="burlywood", weight=9]; 164.48/122.02 1599 -> 843[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 1219[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpInt (Pos (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1219 -> 1241[label="",style="solid", color="black", weight=3]; 164.48/122.02 1220[label="absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1220 -> 1242[label="",style="solid", color="black", weight=3]; 164.48/122.02 1221[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (primCmpInt (Neg (Succ vuz107000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1221 -> 1243[label="",style="solid", color="black", weight=3]; 164.48/122.02 1222[label="absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];1222 -> 1244[label="",style="solid", color="black", weight=3]; 164.48/122.02 1223[label="Integer (primRemInt vuz1040 vuz1020)",fontsize=16,color="green",shape="box"];1223 -> 1245[label="",style="dashed", color="green", weight=3]; 164.48/122.02 1224 -> 1120[label="",style="dashed", color="red", weight=0]; 164.48/122.02 1224[label="gcd0Gcd' vuz109 (vuz102 `rem` vuz109)",fontsize=16,color="magenta"];1224 -> 1246[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1224 -> 1247[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1233[label="vuz510",fontsize=16,color="green",shape="box"];1234[label="vuz104000",fontsize=16,color="green",shape="box"];1235[label="vuz510",fontsize=16,color="green",shape="box"];1236[label="vuz104000",fontsize=16,color="green",shape="box"];1237[label="vuz510",fontsize=16,color="green",shape="box"];1238[label="vuz104000",fontsize=16,color="green",shape="box"];1239[label="vuz510",fontsize=16,color="green",shape="box"];1240[label="vuz104000",fontsize=16,color="green",shape="box"];840[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS (Succ vuz75000) (Succ vuz74000))",fontsize=16,color="black",shape="box"];840 -> 852[label="",style="solid", color="black", weight=3]; 164.48/122.02 841[label="primModNatS0 (Succ vuz75000) Zero (primGEqNatS (Succ vuz75000) Zero)",fontsize=16,color="black",shape="box"];841 -> 853[label="",style="solid", color="black", weight=3]; 164.48/122.02 842[label="primModNatS0 Zero (Succ vuz74000) (primGEqNatS Zero (Succ vuz74000))",fontsize=16,color="black",shape="box"];842 -> 854[label="",style="solid", color="black", weight=3]; 164.48/122.02 843[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];843 -> 855[label="",style="solid", color="black", weight=3]; 164.48/122.02 1241[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (primCmpNat (Succ vuz107000) Zero == LT))",fontsize=16,color="black",shape="box"];1241 -> 1256[label="",style="solid", color="black", weight=3]; 164.48/122.02 1242[label="absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1242 -> 1257[label="",style="solid", color="black", weight=3]; 164.48/122.02 1243[label="absReal1 (Integer (Neg (Succ vuz107000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];1243 -> 1258[label="",style="solid", color="black", weight=3]; 164.48/122.02 1244[label="absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];1244 -> 1259[label="",style="solid", color="black", weight=3]; 164.48/122.02 1245 -> 644[label="",style="dashed", color="red", weight=0]; 164.48/122.02 1245[label="primRemInt vuz1040 vuz1020",fontsize=16,color="magenta"];1245 -> 1260[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1245 -> 1261[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1246[label="vuz109",fontsize=16,color="green",shape="box"];1247[label="vuz102",fontsize=16,color="green",shape="box"];852 -> 1354[label="",style="dashed", color="red", weight=0]; 164.48/122.02 852[label="primModNatS0 (Succ vuz75000) (Succ vuz74000) (primGEqNatS vuz75000 vuz74000)",fontsize=16,color="magenta"];852 -> 1355[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 852 -> 1356[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 852 -> 1357[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 852 -> 1358[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 853[label="primModNatS0 (Succ vuz75000) Zero True",fontsize=16,color="black",shape="box"];853 -> 866[label="",style="solid", color="black", weight=3]; 164.48/122.02 854[label="primModNatS0 Zero (Succ vuz74000) False",fontsize=16,color="black",shape="box"];854 -> 867[label="",style="solid", color="black", weight=3]; 164.48/122.02 855[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];855 -> 868[label="",style="solid", color="black", weight=3]; 164.48/122.02 1256[label="absReal1 (Integer (Pos (Succ vuz107000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];1256 -> 1267[label="",style="solid", color="black", weight=3]; 164.48/122.02 1257[label="absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];1257 -> 1268[label="",style="solid", color="black", weight=3]; 164.48/122.02 1258[label="absReal1 (Integer (Neg (Succ vuz107000))) (not True)",fontsize=16,color="black",shape="box"];1258 -> 1269[label="",style="solid", color="black", weight=3]; 164.48/122.02 1259[label="absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];1259 -> 1270[label="",style="solid", color="black", weight=3]; 164.48/122.02 1260[label="vuz1040",fontsize=16,color="green",shape="box"];1261[label="vuz1020",fontsize=16,color="green",shape="box"];1355[label="vuz75000",fontsize=16,color="green",shape="box"];1356[label="vuz74000",fontsize=16,color="green",shape="box"];1357[label="vuz75000",fontsize=16,color="green",shape="box"];1358[label="vuz74000",fontsize=16,color="green",shape="box"];1354[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz132 vuz133)",fontsize=16,color="burlywood",shape="triangle"];1600[label="vuz132/Succ vuz1320",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1600[label="",style="solid", color="burlywood", weight=9]; 164.48/122.02 1600 -> 1391[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 1601[label="vuz132/Zero",fontsize=10,color="white",style="solid",shape="box"];1354 -> 1601[label="",style="solid", color="burlywood", weight=9]; 164.48/122.02 1601 -> 1392[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 866 -> 753[label="",style="dashed", color="red", weight=0]; 164.48/122.02 866[label="primModNatS (primMinusNatS (Succ vuz75000) Zero) (Succ Zero)",fontsize=16,color="magenta"];866 -> 908[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 866 -> 909[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 867[label="Succ Zero",fontsize=16,color="green",shape="box"];868 -> 753[label="",style="dashed", color="red", weight=0]; 164.48/122.02 868[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];868 -> 910[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 868 -> 911[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1267[label="absReal1 (Integer (Pos (Succ vuz107000))) (not False)",fontsize=16,color="black",shape="box"];1267 -> 1273[label="",style="solid", color="black", weight=3]; 164.48/122.02 1268[label="absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];1268 -> 1274[label="",style="solid", color="black", weight=3]; 164.48/122.02 1269[label="absReal1 (Integer (Neg (Succ vuz107000))) False",fontsize=16,color="black",shape="box"];1269 -> 1275[label="",style="solid", color="black", weight=3]; 164.48/122.02 1270[label="absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];1270 -> 1276[label="",style="solid", color="black", weight=3]; 164.48/122.02 1391[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) vuz133)",fontsize=16,color="burlywood",shape="box"];1602[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1602[label="",style="solid", color="burlywood", weight=9]; 164.48/122.02 1602 -> 1393[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 1603[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1391 -> 1603[label="",style="solid", color="burlywood", weight=9]; 164.48/122.02 1603 -> 1394[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 1392[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero vuz133)",fontsize=16,color="burlywood",shape="box"];1604[label="vuz133/Succ vuz1330",fontsize=10,color="white",style="solid",shape="box"];1392 -> 1604[label="",style="solid", color="burlywood", weight=9]; 164.48/122.02 1604 -> 1395[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 1605[label="vuz133/Zero",fontsize=10,color="white",style="solid",shape="box"];1392 -> 1605[label="",style="solid", color="burlywood", weight=9]; 164.48/122.02 1605 -> 1396[label="",style="solid", color="burlywood", weight=3]; 164.48/122.02 908 -> 577[label="",style="dashed", color="red", weight=0]; 164.48/122.02 908[label="primMinusNatS (Succ vuz75000) Zero",fontsize=16,color="magenta"];908 -> 923[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 909[label="Zero",fontsize=16,color="green",shape="box"];910 -> 579[label="",style="dashed", color="red", weight=0]; 164.48/122.02 910[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];911[label="Zero",fontsize=16,color="green",shape="box"];1273[label="absReal1 (Integer (Pos (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1273 -> 1283[label="",style="solid", color="black", weight=3]; 164.48/122.02 1274[label="Integer (Pos Zero)",fontsize=16,color="green",shape="box"];1275[label="absReal0 (Integer (Neg (Succ vuz107000))) otherwise",fontsize=16,color="black",shape="box"];1275 -> 1284[label="",style="solid", color="black", weight=3]; 164.48/122.02 1276[label="Integer (Neg Zero)",fontsize=16,color="green",shape="box"];1393[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) (Succ vuz1330))",fontsize=16,color="black",shape="box"];1393 -> 1397[label="",style="solid", color="black", weight=3]; 164.48/122.02 1394[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS (Succ vuz1320) Zero)",fontsize=16,color="black",shape="box"];1394 -> 1398[label="",style="solid", color="black", weight=3]; 164.48/122.02 1395[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero (Succ vuz1330))",fontsize=16,color="black",shape="box"];1395 -> 1399[label="",style="solid", color="black", weight=3]; 164.48/122.02 1396[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1396 -> 1400[label="",style="solid", color="black", weight=3]; 164.48/122.02 923[label="vuz75000",fontsize=16,color="green",shape="box"];1283[label="Integer (Pos (Succ vuz107000))",fontsize=16,color="green",shape="box"];1284[label="absReal0 (Integer (Neg (Succ vuz107000))) True",fontsize=16,color="black",shape="box"];1284 -> 1291[label="",style="solid", color="black", weight=3]; 164.48/122.02 1397 -> 1354[label="",style="dashed", color="red", weight=0]; 164.48/122.02 1397[label="primModNatS0 (Succ vuz130) (Succ vuz131) (primGEqNatS vuz1320 vuz1330)",fontsize=16,color="magenta"];1397 -> 1401[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1397 -> 1402[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1398[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="black",shape="triangle"];1398 -> 1403[label="",style="solid", color="black", weight=3]; 164.48/122.02 1399[label="primModNatS0 (Succ vuz130) (Succ vuz131) False",fontsize=16,color="black",shape="box"];1399 -> 1404[label="",style="solid", color="black", weight=3]; 164.48/122.02 1400 -> 1398[label="",style="dashed", color="red", weight=0]; 164.48/122.02 1400[label="primModNatS0 (Succ vuz130) (Succ vuz131) True",fontsize=16,color="magenta"];1291 -> 69[label="",style="dashed", color="red", weight=0]; 164.48/122.02 1291[label="`negate` Integer (Neg (Succ vuz107000))",fontsize=16,color="magenta"];1291 -> 1296[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1401[label="vuz1320",fontsize=16,color="green",shape="box"];1402[label="vuz1330",fontsize=16,color="green",shape="box"];1403 -> 753[label="",style="dashed", color="red", weight=0]; 164.48/122.02 1403[label="primModNatS (primMinusNatS (Succ vuz130) (Succ vuz131)) (Succ (Succ vuz131))",fontsize=16,color="magenta"];1403 -> 1405[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1403 -> 1406[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1404[label="Succ (Succ vuz130)",fontsize=16,color="green",shape="box"];1296[label="Integer (Neg (Succ vuz107000))",fontsize=16,color="green",shape="box"];1405 -> 1039[label="",style="dashed", color="red", weight=0]; 164.48/122.02 1405[label="primMinusNatS (Succ vuz130) (Succ vuz131)",fontsize=16,color="magenta"];1405 -> 1407[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1405 -> 1408[label="",style="dashed", color="magenta", weight=3]; 164.48/122.02 1406[label="Succ vuz131",fontsize=16,color="green",shape="box"];1407[label="Succ vuz130",fontsize=16,color="green",shape="box"];1408[label="Succ vuz131",fontsize=16,color="green",shape="box"];} 164.48/122.02 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (892) 164.48/122.02 Complex Obligation (AND) 164.48/122.02 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (893) 164.48/122.02 Obligation: 164.48/122.02 Q DP problem: 164.48/122.02 The TRS P consists of the following rules: 164.48/122.02 164.48/122.02 new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) 164.48/122.02 164.48/122.02 R is empty. 164.48/122.02 Q is empty. 164.48/122.02 We have to consider all (P,Q,R)-chains. 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (894) QDPSizeChangeProof (EQUIVALENT) 164.48/122.02 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. 164.48/122.02 164.48/122.02 Order:EMB rules! 164.48/122.02 164.48/122.02 AFS: 164.48/122.02 [] = [] 164.48/122.02 164.48/122.02 Succ(x1) = Succ(x1) 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 From the DPs we obtained the following set of size-change graphs: 164.48/122.02 *new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) 164.48/122.02 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 We oriented the following set of usable rules [AAECC05,FROCOS05]. 164.48/122.02 none 164.48/122.02 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (895) 164.48/122.02 YES 164.48/122.02 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (896) 164.48/122.02 Obligation: 164.48/122.02 Q DP problem: 164.48/122.02 P is empty. 164.48/122.02 R is empty. 164.48/122.02 Q is empty. 164.48/122.02 We have to consider all (P,Q,R)-chains. 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (897) PisEmptyProof (EQUIVALENT) 164.48/122.02 The TRS P is empty. Hence, there is no (P,Q,R) chain. 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (898) 164.48/122.02 YES 164.48/122.02 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (899) 164.48/122.02 Obligation: 164.48/122.02 Q DP problem: 164.48/122.02 The TRS P consists of the following rules: 164.48/122.02 164.48/122.02 new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) 164.48/122.02 164.48/122.02 R is empty. 164.48/122.02 Q is empty. 164.48/122.02 We have to consider all (P,Q,R)-chains. 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (900) QDPSizeChangeProof (EQUIVALENT) 164.48/122.02 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. 164.48/122.02 164.48/122.02 Order:EMB rules! 164.48/122.02 164.48/122.02 AFS: 164.48/122.02 [] = [] 164.48/122.02 164.48/122.02 Succ(x1) = Succ(x1) 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 From the DPs we obtained the following set of size-change graphs: 164.48/122.02 *new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) 164.48/122.02 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 164.48/122.02 164.48/122.02 164.48/122.02 164.48/122.02 We oriented the following set of usable rules [AAECC05,FROCOS05]. 164.48/122.02 none 164.48/122.02 164.48/122.02 ---------------------------------------- 164.48/122.02 164.48/122.02 (901) 164.48/122.02 YES 164.64/122.07 EOF