167.05/121.25 MAYBE 167.05/121.26 proof of /export/starexec/sandbox2/benchmark/theBenchmark.hs 167.05/121.26 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 167.05/121.26 167.05/121.26 167.05/121.26 H-Termination with start terms of the given HASKELL could not be shown: 167.05/121.26 167.05/121.26 (0) HASKELL 167.05/121.26 (1) IFR [EQUIVALENT, 0 ms] 167.05/121.26 (2) HASKELL 167.05/121.26 (3) BR [EQUIVALENT, 0 ms] 167.05/121.26 (4) HASKELL 167.05/121.26 (5) COR [EQUIVALENT, 17 ms] 167.05/121.26 (6) HASKELL 167.05/121.26 (7) LetRed [EQUIVALENT, 0 ms] 167.05/121.26 (8) HASKELL 167.05/121.26 (9) NumRed [SOUND, 0 ms] 167.05/121.26 (10) HASKELL 167.05/121.26 (11) Narrow [SOUND, 0 ms] 167.05/121.26 (12) AND 167.05/121.26 (13) QDP 167.05/121.26 (14) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (15) AND 167.05/121.26 (16) QDP 167.05/121.26 (17) QDPOrderProof [EQUIVALENT, 45 ms] 167.05/121.26 (18) QDP 167.05/121.26 (19) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (20) QDP 167.05/121.26 (21) QDPSizeChangeProof [EQUIVALENT, 0 ms] 167.05/121.26 (22) YES 167.05/121.26 (23) QDP 167.05/121.26 (24) MRRProof [EQUIVALENT, 0 ms] 167.05/121.26 (25) QDP 167.05/121.26 (26) PisEmptyProof [EQUIVALENT, 0 ms] 167.05/121.26 (27) YES 167.05/121.26 (28) QDP 167.05/121.26 (29) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (30) AND 167.05/121.26 (31) QDP 167.05/121.26 (32) MRRProof [EQUIVALENT, 0 ms] 167.05/121.26 (33) QDP 167.05/121.26 (34) PisEmptyProof [EQUIVALENT, 0 ms] 167.05/121.26 (35) YES 167.05/121.26 (36) QDP 167.05/121.26 (37) QDPOrderProof [EQUIVALENT, 0 ms] 167.05/121.26 (38) QDP 167.05/121.26 (39) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (40) QDP 167.05/121.26 (41) QDPSizeChangeProof [EQUIVALENT, 0 ms] 167.05/121.26 (42) YES 167.05/121.26 (43) QDP 167.05/121.26 (44) QDPSizeChangeProof [EQUIVALENT, 0 ms] 167.05/121.26 (45) YES 167.05/121.26 (46) QDP 167.05/121.26 (47) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (48) QDP 167.05/121.26 (49) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (50) QDP 167.05/121.26 (51) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (52) QDP 167.05/121.26 (53) TransformationProof [EQUIVALENT, 4 ms] 167.05/121.26 (54) QDP 167.05/121.26 (55) MNOCProof [EQUIVALENT, 0 ms] 167.05/121.26 (56) QDP 167.05/121.26 (57) InductionCalculusProof [EQUIVALENT, 0 ms] 167.05/121.26 (58) QDP 167.05/121.26 (59) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (60) QDP 167.05/121.26 (61) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (62) QDP 167.05/121.26 (63) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (64) QDP 167.05/121.26 (65) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (66) QDP 167.05/121.26 (67) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (68) QDP 167.05/121.26 (69) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (70) QDP 167.05/121.26 (71) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (72) QDP 167.05/121.26 (73) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (74) QDP 167.05/121.26 (75) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (76) QDP 167.05/121.26 (77) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (78) QDP 167.05/121.26 (79) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (80) QDP 167.05/121.26 (81) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (82) QDP 167.05/121.26 (83) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (84) QDP 167.05/121.26 (85) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (86) QDP 167.05/121.26 (87) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (88) QDP 167.05/121.26 (89) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (90) QDP 167.05/121.26 (91) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (92) QDP 167.05/121.26 (93) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (94) QDP 167.05/121.26 (95) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (96) QDP 167.05/121.26 (97) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (98) QDP 167.05/121.26 (99) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (100) QDP 167.05/121.26 (101) QReductionProof [EQUIVALENT, 2 ms] 167.05/121.26 (102) QDP 167.05/121.26 (103) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (104) QDP 167.05/121.26 (105) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (106) QDP 167.05/121.26 (107) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (108) QDP 167.05/121.26 (109) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (110) QDP 167.05/121.26 (111) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (112) QDP 167.05/121.26 (113) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (114) QDP 167.05/121.26 (115) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (116) QDP 167.05/121.26 (117) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (118) QDP 167.05/121.26 (119) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (120) QDP 167.05/121.26 (121) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (122) QDP 167.05/121.26 (123) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (124) QDP 167.05/121.26 (125) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (126) QDP 167.05/121.26 (127) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (128) QDP 167.05/121.26 (129) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (130) QDP 167.05/121.26 (131) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (132) QDP 167.05/121.26 (133) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (134) QDP 167.05/121.26 (135) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (136) QDP 167.05/121.26 (137) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (138) QDP 167.05/121.26 (139) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (140) QDP 167.05/121.26 (141) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (142) QDP 167.05/121.26 (143) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (144) QDP 167.05/121.26 (145) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (146) QDP 167.05/121.26 (147) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (148) QDP 167.05/121.26 (149) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (150) QDP 167.05/121.26 (151) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (152) QDP 167.05/121.26 (153) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (154) QDP 167.05/121.26 (155) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (156) QDP 167.05/121.26 (157) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (158) QDP 167.05/121.26 (159) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (160) QDP 167.05/121.26 (161) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (162) QDP 167.05/121.26 (163) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (164) QDP 167.05/121.26 (165) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (166) QDP 167.05/121.26 (167) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (168) QDP 167.05/121.26 (169) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (170) QDP 167.05/121.26 (171) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (172) QDP 167.05/121.26 (173) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (174) QDP 167.05/121.26 (175) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (176) QDP 167.05/121.26 (177) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (178) QDP 167.05/121.26 (179) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (180) QDP 167.05/121.26 (181) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (182) QDP 167.05/121.26 (183) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (184) QDP 167.05/121.26 (185) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (186) QDP 167.05/121.26 (187) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (188) QDP 167.05/121.26 (189) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (190) QDP 167.05/121.26 (191) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (192) QDP 167.05/121.26 (193) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (194) QDP 167.05/121.26 (195) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (196) QDP 167.05/121.26 (197) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (198) QDP 167.05/121.26 (199) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (200) QDP 167.05/121.26 (201) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (202) QDP 167.05/121.26 (203) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (204) QDP 167.05/121.26 (205) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (206) QDP 167.05/121.26 (207) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (208) QDP 167.05/121.26 (209) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (210) QDP 167.05/121.26 (211) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (212) QDP 167.05/121.26 (213) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (214) QDP 167.05/121.26 (215) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (216) QDP 167.05/121.26 (217) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (218) QDP 167.05/121.26 (219) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (220) QDP 167.05/121.26 (221) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (222) QDP 167.05/121.26 (223) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (224) QDP 167.05/121.26 (225) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (226) QDP 167.05/121.26 (227) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (228) QDP 167.05/121.26 (229) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (230) QDP 167.05/121.26 (231) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (232) QDP 167.05/121.26 (233) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (234) QDP 167.05/121.26 (235) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (236) QDP 167.05/121.26 (237) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (238) QDP 167.05/121.26 (239) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (240) QDP 167.05/121.26 (241) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (242) QDP 167.05/121.26 (243) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (244) QDP 167.05/121.26 (245) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (246) QDP 167.05/121.26 (247) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (248) QDP 167.05/121.26 (249) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (250) QDP 167.05/121.26 (251) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (252) QDP 167.05/121.26 (253) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (254) QDP 167.05/121.26 (255) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (256) QDP 167.05/121.26 (257) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (258) QDP 167.05/121.26 (259) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (260) QDP 167.05/121.26 (261) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (262) QDP 167.05/121.26 (263) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (264) QDP 167.05/121.26 (265) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (266) QDP 167.05/121.26 (267) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (268) QDP 167.05/121.26 (269) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (270) QDP 167.05/121.26 (271) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (272) QDP 167.05/121.26 (273) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (274) QDP 167.05/121.26 (275) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (276) QDP 167.05/121.26 (277) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (278) QDP 167.05/121.26 (279) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (280) QDP 167.05/121.26 (281) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (282) QDP 167.05/121.26 (283) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (284) QDP 167.05/121.26 (285) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (286) QDP 167.05/121.26 (287) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (288) QDP 167.05/121.26 (289) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (290) QDP 167.05/121.26 (291) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (292) QDP 167.05/121.26 (293) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (294) QDP 167.05/121.26 (295) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (296) QDP 167.05/121.26 (297) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (298) QDP 167.05/121.26 (299) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (300) QDP 167.05/121.26 (301) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (302) QDP 167.05/121.26 (303) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (304) QDP 167.05/121.26 (305) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (306) QDP 167.05/121.26 (307) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (308) QDP 167.05/121.26 (309) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (310) QDP 167.05/121.26 (311) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (312) QDP 167.05/121.26 (313) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (314) QDP 167.05/121.26 (315) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (316) QDP 167.05/121.26 (317) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (318) QDP 167.05/121.26 (319) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (320) QDP 167.05/121.26 (321) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (322) QDP 167.05/121.26 (323) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (324) QDP 167.05/121.26 (325) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (326) QDP 167.05/121.26 (327) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (328) QDP 167.05/121.26 (329) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (330) QDP 167.05/121.26 (331) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (332) QDP 167.05/121.26 (333) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (334) QDP 167.05/121.26 (335) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (336) QDP 167.05/121.26 (337) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (338) QDP 167.05/121.26 (339) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (340) QDP 167.05/121.26 (341) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (342) QDP 167.05/121.26 (343) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (344) QDP 167.05/121.26 (345) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (346) QDP 167.05/121.26 (347) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (348) QDP 167.05/121.26 (349) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (350) QDP 167.05/121.26 (351) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (352) QDP 167.05/121.26 (353) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (354) QDP 167.05/121.26 (355) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (356) QDP 167.05/121.26 (357) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (358) QDP 167.05/121.26 (359) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (360) QDP 167.05/121.26 (361) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (362) QDP 167.05/121.26 (363) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (364) QDP 167.05/121.26 (365) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (366) QDP 167.05/121.26 (367) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (368) QDP 167.05/121.26 (369) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (370) QDP 167.05/121.26 (371) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (372) QDP 167.05/121.26 (373) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (374) QDP 167.05/121.26 (375) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (376) QDP 167.05/121.26 (377) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (378) QDP 167.05/121.26 (379) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (380) QDP 167.05/121.26 (381) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (382) QDP 167.05/121.26 (383) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (384) QDP 167.05/121.26 (385) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (386) QDP 167.05/121.26 (387) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (388) QDP 167.05/121.26 (389) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (390) QDP 167.05/121.26 (391) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (392) QDP 167.05/121.26 (393) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (394) QDP 167.05/121.26 (395) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (396) QDP 167.05/121.26 (397) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (398) QDP 167.05/121.26 (399) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (400) QDP 167.05/121.26 (401) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (402) QDP 167.05/121.26 (403) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (404) QDP 167.05/121.26 (405) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (406) QDP 167.05/121.26 (407) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (408) QDP 167.05/121.26 (409) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (410) QDP 167.05/121.26 (411) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (412) QDP 167.05/121.26 (413) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (414) QDP 167.05/121.26 (415) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (416) QDP 167.05/121.26 (417) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (418) QDP 167.05/121.26 (419) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (420) QDP 167.05/121.26 (421) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (422) QDP 167.05/121.26 (423) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (424) QDP 167.05/121.26 (425) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (426) QDP 167.05/121.26 (427) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (428) QDP 167.05/121.26 (429) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (430) QDP 167.05/121.26 (431) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (432) QDP 167.05/121.26 (433) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (434) QDP 167.05/121.26 (435) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (436) QDP 167.05/121.26 (437) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (438) QDP 167.05/121.26 (439) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (440) QDP 167.05/121.26 (441) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (442) QDP 167.05/121.26 (443) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (444) QDP 167.05/121.26 (445) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (446) QDP 167.05/121.26 (447) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (448) QDP 167.05/121.26 (449) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (450) QDP 167.05/121.26 (451) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (452) QDP 167.05/121.26 (453) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (454) QDP 167.05/121.26 (455) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (456) QDP 167.05/121.26 (457) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (458) QDP 167.05/121.26 (459) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (460) QDP 167.05/121.26 (461) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (462) QDP 167.05/121.26 (463) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (464) QDP 167.05/121.26 (465) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (466) QDP 167.05/121.26 (467) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (468) QDP 167.05/121.26 (469) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (470) QDP 167.05/121.26 (471) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (472) QDP 167.05/121.26 (473) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (474) QDP 167.05/121.26 (475) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (476) QDP 167.05/121.26 (477) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (478) QDP 167.05/121.26 (479) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (480) QDP 167.05/121.26 (481) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (482) QDP 167.05/121.26 (483) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (484) QDP 167.05/121.26 (485) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (486) QDP 167.05/121.26 (487) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (488) QDP 167.05/121.26 (489) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (490) QDP 167.05/121.26 (491) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (492) QDP 167.05/121.26 (493) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (494) QDP 167.05/121.26 (495) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (496) QDP 167.05/121.26 (497) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (498) QDP 167.05/121.26 (499) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (500) QDP 167.05/121.26 (501) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (502) QDP 167.05/121.26 (503) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (504) QDP 167.05/121.26 (505) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (506) QDP 167.05/121.26 (507) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (508) QDP 167.05/121.26 (509) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (510) QDP 167.05/121.26 (511) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (512) QDP 167.05/121.26 (513) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (514) QDP 167.05/121.26 (515) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (516) QDP 167.05/121.26 (517) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (518) QDP 167.05/121.26 (519) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (520) QDP 167.05/121.26 (521) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (522) QDP 167.05/121.26 (523) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (524) QDP 167.05/121.26 (525) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (526) QDP 167.05/121.26 (527) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (528) QDP 167.05/121.26 (529) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (530) QDP 167.05/121.26 (531) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (532) QDP 167.05/121.26 (533) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (534) QDP 167.05/121.26 (535) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (536) QDP 167.05/121.26 (537) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (538) QDP 167.05/121.26 (539) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (540) QDP 167.05/121.26 (541) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (542) QDP 167.05/121.26 (543) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (544) QDP 167.05/121.26 (545) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (546) QDP 167.05/121.26 (547) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (548) QDP 167.05/121.26 (549) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (550) QDP 167.05/121.26 (551) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (552) QDP 167.05/121.26 (553) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (554) QDP 167.05/121.26 (555) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (556) QDP 167.05/121.26 (557) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (558) QDP 167.05/121.26 (559) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (560) QDP 167.05/121.26 (561) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (562) QDP 167.05/121.26 (563) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (564) QDP 167.05/121.26 (565) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (566) QDP 167.05/121.26 (567) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (568) QDP 167.05/121.26 (569) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (570) QDP 167.05/121.26 (571) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (572) QDP 167.05/121.26 (573) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (574) QDP 167.05/121.26 (575) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (576) QDP 167.05/121.26 (577) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (578) QDP 167.05/121.26 (579) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (580) QDP 167.05/121.26 (581) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (582) QDP 167.05/121.26 (583) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (584) QDP 167.05/121.26 (585) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (586) QDP 167.05/121.26 (587) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (588) QDP 167.05/121.26 (589) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (590) QDP 167.05/121.26 (591) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (592) QDP 167.05/121.26 (593) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (594) QDP 167.05/121.26 (595) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (596) QDP 167.05/121.26 (597) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (598) QDP 167.05/121.26 (599) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (600) QDP 167.05/121.26 (601) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (602) QDP 167.05/121.26 (603) TransformationProof [EQUIVALENT, 1 ms] 167.05/121.26 (604) QDP 167.05/121.26 (605) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (606) QDP 167.05/121.26 (607) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (608) QDP 167.05/121.26 (609) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (610) QDP 167.05/121.26 (611) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (612) QDP 167.05/121.26 (613) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (614) QDP 167.05/121.26 (615) QDPOrderProof [EQUIVALENT, 80 ms] 167.05/121.26 (616) QDP 167.05/121.26 (617) QDPOrderProof [EQUIVALENT, 87 ms] 167.05/121.26 (618) QDP 167.05/121.26 (619) MNOCProof [EQUIVALENT, 0 ms] 167.05/121.26 (620) QDP 167.05/121.26 (621) InductionCalculusProof [EQUIVALENT, 0 ms] 167.05/121.26 (622) QDP 167.05/121.26 (623) QDP 167.05/121.26 (624) QDPSizeChangeProof [EQUIVALENT, 0 ms] 167.05/121.26 (625) YES 167.05/121.26 (626) QDP 167.05/121.26 (627) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (628) QDP 167.05/121.26 (629) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (630) QDP 167.05/121.26 (631) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (632) QDP 167.05/121.26 (633) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (634) QDP 167.05/121.26 (635) MNOCProof [EQUIVALENT, 0 ms] 167.05/121.26 (636) QDP 167.05/121.26 (637) InductionCalculusProof [EQUIVALENT, 0 ms] 167.05/121.26 (638) QDP 167.05/121.26 (639) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (640) QDP 167.05/121.26 (641) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (642) QDP 167.05/121.26 (643) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (644) QDP 167.05/121.26 (645) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (646) QDP 167.05/121.26 (647) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (648) QDP 167.05/121.26 (649) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (650) QDP 167.05/121.26 (651) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (652) QDP 167.05/121.26 (653) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (654) QDP 167.05/121.26 (655) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (656) QDP 167.05/121.26 (657) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (658) QDP 167.05/121.26 (659) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (660) AND 167.05/121.26 (661) QDP 167.05/121.26 (662) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (663) QDP 167.05/121.26 (664) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (665) QDP 167.05/121.26 (666) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (667) QDP 167.05/121.26 (668) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (669) QDP 167.05/121.26 (670) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (671) QDP 167.05/121.26 (672) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (673) QDP 167.05/121.26 (674) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (675) QDP 167.05/121.26 (676) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (677) QDP 167.05/121.26 (678) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (679) AND 167.05/121.26 (680) QDP 167.05/121.26 (681) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (682) QDP 167.05/121.26 (683) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (684) QDP 167.05/121.26 (685) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (686) QDP 167.05/121.26 (687) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (688) QDP 167.05/121.26 (689) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (690) QDP 167.05/121.26 (691) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (692) QDP 167.05/121.26 (693) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (694) QDP 167.05/121.26 (695) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (696) QDP 167.05/121.26 (697) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (698) QDP 167.05/121.26 (699) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (700) QDP 167.05/121.26 (701) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (702) QDP 167.05/121.26 (703) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (704) QDP 167.05/121.26 (705) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (706) QDP 167.05/121.26 (707) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (708) QDP 167.05/121.26 (709) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (710) QDP 167.05/121.26 (711) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (712) QDP 167.05/121.26 (713) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (714) QDP 167.05/121.26 (715) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (716) QDP 167.05/121.26 (717) QDPSizeChangeProof [EQUIVALENT, 0 ms] 167.05/121.26 (718) YES 167.05/121.26 (719) QDP 167.05/121.26 (720) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (721) QDP 167.05/121.26 (722) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (723) QDP 167.05/121.26 (724) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (725) QDP 167.05/121.26 (726) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (727) QDP 167.05/121.26 (728) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (729) QDP 167.05/121.26 (730) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (731) QDP 167.05/121.26 (732) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (733) QDP 167.05/121.26 (734) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (735) QDP 167.05/121.26 (736) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (737) QDP 167.05/121.26 (738) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (739) QDP 167.05/121.26 (740) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (741) QDP 167.05/121.26 (742) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (743) QDP 167.05/121.26 (744) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (745) QDP 167.05/121.26 (746) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (747) QDP 167.05/121.26 (748) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (749) QDP 167.05/121.26 (750) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (751) QDP 167.05/121.26 (752) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (753) QDP 167.05/121.26 (754) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (755) QDP 167.05/121.26 (756) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (757) QDP 167.05/121.26 (758) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (759) QDP 167.05/121.26 (760) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (761) QDP 167.05/121.26 (762) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (763) QDP 167.05/121.26 (764) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (765) QDP 167.05/121.26 (766) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (767) QDP 167.05/121.26 (768) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (769) QDP 167.05/121.26 (770) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (771) AND 167.05/121.26 (772) QDP 167.05/121.26 (773) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (774) QDP 167.05/121.26 (775) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (776) QDP 167.05/121.26 (777) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (778) QDP 167.05/121.26 (779) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (780) QDP 167.05/121.26 (781) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (782) QDP 167.05/121.26 (783) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (784) QDP 167.05/121.26 (785) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (786) QDP 167.05/121.26 (787) QDPOrderProof [EQUIVALENT, 592 ms] 167.05/121.26 (788) QDP 167.05/121.26 (789) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (790) TRUE 167.05/121.26 (791) QDP 167.05/121.26 (792) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (793) QDP 167.05/121.26 (794) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (795) AND 167.05/121.26 (796) QDP 167.05/121.26 (797) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (798) QDP 167.05/121.26 (799) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (800) QDP 167.05/121.26 (801) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (802) QDP 167.05/121.26 (803) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (804) QDP 167.05/121.26 (805) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (806) QDP 167.05/121.26 (807) InductionCalculusProof [EQUIVALENT, 0 ms] 167.05/121.26 (808) QDP 167.05/121.26 (809) QDP 167.05/121.26 (810) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (811) QDP 167.05/121.26 (812) InductionCalculusProof [EQUIVALENT, 0 ms] 167.05/121.26 (813) QDP 167.05/121.26 (814) QDP 167.05/121.26 (815) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (816) QDP 167.05/121.26 (817) QReductionProof [EQUIVALENT, 1 ms] 167.05/121.26 (818) QDP 167.05/121.26 (819) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (820) QDP 167.05/121.26 (821) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (822) QDP 167.05/121.26 (823) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (824) QDP 167.05/121.26 (825) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (826) QDP 167.05/121.26 (827) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (828) QDP 167.05/121.26 (829) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (830) QDP 167.05/121.26 (831) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (832) AND 167.05/121.26 (833) QDP 167.05/121.26 (834) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (835) QDP 167.05/121.26 (836) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (837) QDP 167.05/121.26 (838) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (839) QDP 167.05/121.26 (840) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (841) QDP 167.05/121.26 (842) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (843) QDP 167.05/121.26 (844) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (845) QDP 167.05/121.26 (846) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (847) QDP 167.05/121.26 (848) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (849) QDP 167.05/121.26 (850) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (851) QDP 167.05/121.26 (852) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (853) QDP 167.05/121.26 (854) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (855) QDP 167.05/121.26 (856) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (857) QDP 167.05/121.26 (858) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (859) QDP 167.05/121.26 (860) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (861) QDP 167.05/121.26 (862) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (863) QDP 167.05/121.26 (864) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (865) QDP 167.05/121.26 (866) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (867) QDP 167.05/121.26 (868) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (869) QDP 167.05/121.26 (870) QDPSizeChangeProof [EQUIVALENT, 0 ms] 167.05/121.26 (871) YES 167.05/121.26 (872) QDP 167.05/121.26 (873) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (874) QDP 167.05/121.26 (875) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (876) QDP 167.05/121.26 (877) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (878) QDP 167.05/121.26 (879) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (880) QDP 167.05/121.26 (881) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (882) QDP 167.05/121.26 (883) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (884) QDP 167.05/121.26 (885) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (886) QDP 167.05/121.26 (887) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (888) QDP 167.05/121.26 (889) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (890) QDP 167.05/121.26 (891) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (892) QDP 167.05/121.26 (893) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (894) QDP 167.05/121.26 (895) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (896) QDP 167.05/121.26 (897) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (898) QDP 167.05/121.26 (899) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (900) QDP 167.05/121.26 (901) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (902) QDP 167.05/121.26 (903) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (904) QDP 167.05/121.26 (905) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (906) QDP 167.05/121.26 (907) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (908) QDP 167.05/121.26 (909) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (910) QDP 167.05/121.26 (911) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (912) QDP 167.05/121.26 (913) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (914) QDP 167.05/121.26 (915) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (916) QDP 167.05/121.26 (917) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (918) QDP 167.05/121.26 (919) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (920) QDP 167.05/121.26 (921) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (922) QDP 167.05/121.26 (923) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (924) AND 167.05/121.26 (925) QDP 167.05/121.26 (926) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (927) QDP 167.05/121.26 (928) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (929) QDP 167.05/121.26 (930) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (931) QDP 167.05/121.26 (932) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (933) QDP 167.05/121.26 (934) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (935) QDP 167.05/121.26 (936) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (937) QDP 167.05/121.26 (938) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (939) QDP 167.05/121.26 (940) QDPOrderProof [EQUIVALENT, 589 ms] 167.05/121.26 (941) QDP 167.05/121.26 (942) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (943) TRUE 167.05/121.26 (944) QDP 167.05/121.26 (945) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (946) QDP 167.05/121.26 (947) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (948) AND 167.05/121.26 (949) QDP 167.05/121.26 (950) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (951) QDP 167.05/121.26 (952) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (953) QDP 167.05/121.26 (954) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (955) QDP 167.05/121.26 (956) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (957) QDP 167.05/121.26 (958) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (959) QDP 167.05/121.26 (960) InductionCalculusProof [EQUIVALENT, 0 ms] 167.05/121.26 (961) QDP 167.05/121.26 (962) QDP 167.05/121.26 (963) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (964) QDP 167.05/121.26 (965) InductionCalculusProof [EQUIVALENT, 0 ms] 167.05/121.26 (966) QDP 167.05/121.26 (967) QDP 167.05/121.26 (968) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (969) QDP 167.05/121.26 (970) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (971) QDP 167.05/121.26 (972) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (973) QDP 167.05/121.26 (974) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (975) QDP 167.05/121.26 (976) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (977) QDP 167.05/121.26 (978) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (979) QDP 167.05/121.26 (980) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (981) QDP 167.05/121.26 (982) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (983) QDP 167.05/121.26 (984) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (985) QDP 167.05/121.26 (986) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (987) QDP 167.05/121.26 (988) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (989) QDP 167.05/121.26 (990) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (991) QDP 167.05/121.26 (992) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (993) QDP 167.05/121.26 (994) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (995) QDP 167.05/121.26 (996) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (997) QDP 167.05/121.26 (998) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (999) QDP 167.05/121.26 (1000) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1001) QDP 167.05/121.26 (1002) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1003) QDP 167.05/121.26 (1004) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1005) QDP 167.05/121.26 (1006) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1007) QDP 167.05/121.26 (1008) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1009) QDP 167.05/121.26 (1010) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1011) QDP 167.05/121.26 (1012) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1013) QDP 167.05/121.26 (1014) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1015) QDP 167.05/121.26 (1016) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1017) QDP 167.05/121.26 (1018) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1019) QDP 167.05/121.26 (1020) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1021) QDP 167.05/121.26 (1022) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1023) AND 167.05/121.26 (1024) QDP 167.05/121.26 (1025) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (1026) QDP 167.05/121.26 (1027) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (1028) QDP 167.05/121.26 (1029) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1030) QDP 167.05/121.26 (1031) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1032) QDP 167.05/121.26 (1033) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1034) QDP 167.05/121.26 (1035) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1036) QDP 167.05/121.26 (1037) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1038) QDP 167.05/121.26 (1039) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1040) QDP 167.05/121.26 (1041) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1042) QDP 167.05/121.26 (1043) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1044) QDP 167.05/121.26 (1045) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1046) QDP 167.05/121.26 (1047) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1048) QDP 167.05/121.26 (1049) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1050) QDP 167.05/121.26 (1051) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1052) QDP 167.05/121.26 (1053) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1054) QDP 167.05/121.26 (1055) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1056) QDP 167.05/121.26 (1057) QDPSizeChangeProof [EQUIVALENT, 0 ms] 167.05/121.26 (1058) YES 167.05/121.26 (1059) QDP 167.05/121.26 (1060) UsableRulesProof [EQUIVALENT, 0 ms] 167.05/121.26 (1061) QDP 167.05/121.26 (1062) QReductionProof [EQUIVALENT, 0 ms] 167.05/121.26 (1063) QDP 167.05/121.26 (1064) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1065) QDP 167.05/121.26 (1066) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1067) QDP 167.05/121.26 (1068) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1069) QDP 167.05/121.26 (1070) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1071) QDP 167.05/121.26 (1072) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1073) QDP 167.05/121.26 (1074) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1075) QDP 167.05/121.26 (1076) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1077) QDP 167.05/121.26 (1078) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1079) QDP 167.05/121.26 (1080) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1081) QDP 167.05/121.26 (1082) TransformationProof [EQUIVALENT, 0 ms] 167.05/121.26 (1083) QDP 167.05/121.26 (1084) DependencyGraphProof [EQUIVALENT, 0 ms] 167.05/121.26 (1085) QDP 167.05/121.26 (1086) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1087) QDP 169.52/121.92 (1088) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1089) QDP 169.52/121.92 (1090) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1091) QDP 169.52/121.92 (1092) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1093) QDP 169.52/121.92 (1094) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1095) QDP 169.52/121.92 (1096) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1097) QDP 169.52/121.92 (1098) QDPSizeChangeProof [EQUIVALENT, 0 ms] 169.52/121.92 (1099) YES 169.52/121.92 (1100) QDP 169.52/121.92 (1101) UsableRulesProof [EQUIVALENT, 0 ms] 169.52/121.92 (1102) QDP 169.52/121.92 (1103) QReductionProof [EQUIVALENT, 0 ms] 169.52/121.92 (1104) QDP 169.52/121.92 (1105) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1106) QDP 169.52/121.92 (1107) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1108) QDP 169.52/121.92 (1109) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1110) QDP 169.52/121.92 (1111) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1112) QDP 169.52/121.92 (1113) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1114) QDP 169.52/121.92 (1115) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1116) QDP 169.52/121.92 (1117) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1118) QDP 169.52/121.92 (1119) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1120) QDP 169.52/121.92 (1121) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1122) QDP 169.52/121.92 (1123) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1124) QDP 169.52/121.92 (1125) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1126) QDP 169.52/121.92 (1127) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1128) QDP 169.52/121.92 (1129) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1130) QDP 169.52/121.92 (1131) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1132) QDP 169.52/121.92 (1133) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1134) QDP 169.52/121.92 (1135) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1136) QDP 169.52/121.92 (1137) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1138) QDP 169.52/121.92 (1139) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1140) QDP 169.52/121.92 (1141) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1142) QDP 169.52/121.92 (1143) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1144) QDP 169.52/121.92 (1145) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1146) QDP 169.52/121.92 (1147) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1148) QDP 169.52/121.92 (1149) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1150) QDP 169.52/121.92 (1151) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1152) QDP 169.52/121.92 (1153) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1154) QDP 169.52/121.92 (1155) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1156) QDP 169.52/121.92 (1157) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1158) QDP 169.52/121.92 (1159) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1160) QDP 169.52/121.92 (1161) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1162) QDP 169.52/121.92 (1163) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1164) AND 169.52/121.92 (1165) QDP 169.52/121.92 (1166) UsableRulesProof [EQUIVALENT, 0 ms] 169.52/121.92 (1167) QDP 169.52/121.92 (1168) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1169) QDP 169.52/121.92 (1170) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1171) QDP 169.52/121.92 (1172) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1173) QDP 169.52/121.92 (1174) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1175) QDP 169.52/121.92 (1176) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1177) QDP 169.52/121.92 (1178) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1179) QDP 169.52/121.92 (1180) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1181) QDP 169.52/121.92 (1182) InductionCalculusProof [EQUIVALENT, 0 ms] 169.52/121.92 (1183) QDP 169.52/121.92 (1184) QDP 169.52/121.92 (1185) UsableRulesProof [EQUIVALENT, 0 ms] 169.52/121.92 (1186) QDP 169.52/121.92 (1187) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1188) QDP 169.52/121.92 (1189) UsableRulesProof [EQUIVALENT, 0 ms] 169.52/121.92 (1190) QDP 169.52/121.92 (1191) InductionCalculusProof [EQUIVALENT, 0 ms] 169.52/121.92 (1192) QDP 169.52/121.92 (1193) QDP 169.52/121.92 (1194) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1195) QDP 169.52/121.92 (1196) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1197) QDP 169.52/121.92 (1198) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1199) QDP 169.52/121.92 (1200) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1201) QDP 169.52/121.92 (1202) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1203) QDP 169.52/121.92 (1204) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1205) QDP 169.52/121.92 (1206) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1207) QDP 169.52/121.92 (1208) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1209) QDP 169.52/121.92 (1210) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1211) QDP 169.52/121.92 (1212) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1213) QDP 169.52/121.92 (1214) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1215) QDP 169.52/121.92 (1216) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1217) QDP 169.52/121.92 (1218) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1219) QDP 169.52/121.92 (1220) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1221) QDP 169.52/121.92 (1222) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1223) QDP 169.52/121.92 (1224) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1225) QDP 169.52/121.92 (1226) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1227) QDP 169.52/121.92 (1228) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1229) QDP 169.52/121.92 (1230) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1231) QDP 169.52/121.92 (1232) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1233) QDP 169.52/121.92 (1234) DependencyGraphProof [EQUIVALENT, 0 ms] 169.52/121.92 (1235) AND 169.52/121.92 (1236) QDP 169.52/121.92 (1237) UsableRulesProof [EQUIVALENT, 0 ms] 169.52/121.92 (1238) QDP 169.52/121.92 (1239) InductionCalculusProof [EQUIVALENT, 0 ms] 169.52/121.92 (1240) QDP 169.52/121.92 (1241) QDP 169.52/121.92 (1242) UsableRulesProof [EQUIVALENT, 0 ms] 169.52/121.92 (1243) QDP 169.52/121.92 (1244) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1245) QDP 169.52/121.92 (1246) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1247) QDP 169.52/121.92 (1248) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1249) QDP 169.52/121.92 (1250) TransformationProof [EQUIVALENT, 0 ms] 169.52/121.92 (1251) QDP 169.52/121.92 (1252) InductionCalculusProof [EQUIVALENT, 0 ms] 169.52/121.92 (1253) QDP 169.52/121.92 (1254) QDP 169.52/121.92 (1255) InductionCalculusProof [EQUIVALENT, 0 ms] 169.52/121.92 (1256) QDP 169.52/121.92 (1257) QDP 169.52/121.92 (1258) QDPSizeChangeProof [EQUIVALENT, 0 ms] 169.52/121.92 (1259) YES 169.52/121.92 (1260) QDP 169.52/121.92 (1261) QDPSizeChangeProof [EQUIVALENT, 0 ms] 169.52/121.92 (1262) YES 169.52/121.92 (1263) Narrow [COMPLETE, 0 ms] 169.52/121.92 (1264) AND 169.52/121.92 (1265) QDP 169.52/121.92 (1266) QDPSizeChangeProof [EQUIVALENT, 0 ms] 169.52/121.92 (1267) YES 169.52/121.92 (1268) QDP 169.52/121.92 (1269) PisEmptyProof [EQUIVALENT, 0 ms] 169.52/121.92 (1270) YES 169.52/121.92 (1271) QDP 169.52/121.92 (1272) QDPSizeChangeProof [EQUIVALENT, 0 ms] 169.52/121.92 (1273) YES 169.52/121.92 169.52/121.92 169.52/121.92 ---------------------------------------- 169.52/121.92 169.52/121.92 (0) 169.52/121.92 Obligation: 169.52/121.92 mainModule Main 169.52/121.92 module Main where { 169.52/121.92 import qualified Prelude; 169.52/121.92 } 169.52/121.92 169.52/121.92 ---------------------------------------- 169.52/121.92 169.52/121.92 (1) IFR (EQUIVALENT) 169.52/121.92 If Reductions: 169.52/121.92 The following If expression 169.52/121.92 "if primGEqNatS x y then Succ (primDivNatS (primMinusNatS x y) (Succ y)) else Zero" 169.52/121.92 is transformed to 169.52/121.92 "primDivNatS0 x y True = Succ (primDivNatS (primMinusNatS x y) (Succ y)); 169.52/121.92 primDivNatS0 x y False = Zero; 169.52/121.92 " 169.52/121.93 The following If expression 169.52/121.93 "if primGEqNatS x y then primModNatS (primMinusNatS x y) (Succ y) else Succ x" 169.52/121.93 is transformed to 169.52/121.93 "primModNatS0 x y True = primModNatS (primMinusNatS x y) (Succ y); 169.52/121.93 primModNatS0 x y False = Succ x; 169.52/121.93 " 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (2) 169.52/121.93 Obligation: 169.52/121.93 mainModule Main 169.52/121.93 module Main where { 169.52/121.93 import qualified Prelude; 169.52/121.93 } 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (3) BR (EQUIVALENT) 169.52/121.93 Replaced joker patterns by fresh variables and removed binding patterns. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (4) 169.52/121.93 Obligation: 169.52/121.93 mainModule Main 169.52/121.93 module Main where { 169.52/121.93 import qualified Prelude; 169.52/121.93 } 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (5) COR (EQUIVALENT) 169.52/121.93 Cond Reductions: 169.52/121.93 The following Function with conditions 169.52/121.93 "absReal x|x >= 0x|otherwise`negate` x; 169.52/121.93 " 169.52/121.93 is transformed to 169.52/121.93 "absReal x = absReal2 x; 169.52/121.93 " 169.52/121.93 "absReal1 x True = x; 169.52/121.93 absReal1 x False = absReal0 x otherwise; 169.52/121.93 " 169.52/121.93 "absReal0 x True = `negate` x; 169.52/121.93 " 169.52/121.93 "absReal2 x = absReal1 x (x >= 0); 169.52/121.93 " 169.52/121.93 The following Function with conditions 169.52/121.93 "gcd' x 0 = x; 169.52/121.93 gcd' x y = gcd' y (x `rem` y); 169.52/121.93 " 169.52/121.93 is transformed to 169.52/121.93 "gcd' x xz = gcd'2 x xz; 169.52/121.93 gcd' x y = gcd'0 x y; 169.52/121.93 " 169.52/121.93 "gcd'0 x y = gcd' y (x `rem` y); 169.52/121.93 " 169.52/121.93 "gcd'1 True x xz = x; 169.52/121.93 gcd'1 yu yv yw = gcd'0 yv yw; 169.52/121.93 " 169.52/121.93 "gcd'2 x xz = gcd'1 (xz == 0) x xz; 169.52/121.93 gcd'2 yx yy = gcd'0 yx yy; 169.52/121.93 " 169.52/121.93 The following Function with conditions 169.52/121.93 "gcd 0 0 = error []; 169.52/121.93 gcd x y = gcd' (abs x) (abs y) where { 169.52/121.93 gcd' x 0 = x; 169.52/121.93 gcd' x y = gcd' y (x `rem` y); 169.52/121.93 } 169.52/121.93 ; 169.52/121.93 " 169.52/121.93 is transformed to 169.52/121.93 "gcd yz zu = gcd3 yz zu; 169.52/121.93 gcd x y = gcd0 x y; 169.52/121.93 " 169.52/121.93 "gcd0 x y = gcd' (abs x) (abs y) where { 169.52/121.93 gcd' x xz = gcd'2 x xz; 169.52/121.93 gcd' x y = gcd'0 x y; 169.52/121.93 ; 169.52/121.93 gcd'0 x y = gcd' y (x `rem` y); 169.52/121.93 ; 169.52/121.93 gcd'1 True x xz = x; 169.52/121.93 gcd'1 yu yv yw = gcd'0 yv yw; 169.52/121.93 ; 169.52/121.93 gcd'2 x xz = gcd'1 (xz == 0) x xz; 169.52/121.93 gcd'2 yx yy = gcd'0 yx yy; 169.52/121.93 } 169.52/121.93 ; 169.52/121.93 " 169.52/121.93 "gcd1 True yz zu = error []; 169.52/121.93 gcd1 zv zw zx = gcd0 zw zx; 169.52/121.93 " 169.52/121.93 "gcd2 True yz zu = gcd1 (zu == 0) yz zu; 169.52/121.93 gcd2 zy zz vuu = gcd0 zz vuu; 169.52/121.93 " 169.52/121.93 "gcd3 yz zu = gcd2 (yz == 0) yz zu; 169.52/121.93 gcd3 vuv vuw = gcd0 vuv vuw; 169.52/121.93 " 169.52/121.93 The following Function with conditions 169.52/121.93 "undefined |Falseundefined; 169.52/121.93 " 169.52/121.93 is transformed to 169.52/121.93 "undefined = undefined1; 169.52/121.93 " 169.52/121.93 "undefined0 True = undefined; 169.52/121.93 " 169.52/121.93 "undefined1 = undefined0 False; 169.52/121.93 " 169.52/121.93 The following Function with conditions 169.52/121.93 "reduce x y|y == 0error []|otherwisex `quot` d :% (y `quot` d) where { 169.52/121.93 d = gcd x y; 169.52/121.93 } 169.52/121.93 ; 169.52/121.93 " 169.52/121.93 is transformed to 169.52/121.93 "reduce x y = reduce2 x y; 169.52/121.93 " 169.52/121.93 "reduce2 x y = reduce1 x y (y == 0) where { 169.52/121.93 d = gcd x y; 169.52/121.93 ; 169.52/121.93 reduce0 x y True = x `quot` d :% (y `quot` d); 169.52/121.93 ; 169.52/121.93 reduce1 x y True = error []; 169.52/121.93 reduce1 x y False = reduce0 x y otherwise; 169.52/121.93 } 169.52/121.93 ; 169.52/121.93 " 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (6) 169.52/121.93 Obligation: 169.52/121.93 mainModule Main 169.52/121.93 module Main where { 169.52/121.93 import qualified Prelude; 169.52/121.93 } 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (7) LetRed (EQUIVALENT) 169.52/121.93 Let/Where Reductions: 169.52/121.93 The bindings of the following Let/Where expression 169.52/121.93 "gcd' (abs x) (abs y) where { 169.52/121.93 gcd' x xz = gcd'2 x xz; 169.52/121.93 gcd' x y = gcd'0 x y; 169.52/121.93 ; 169.52/121.93 gcd'0 x y = gcd' y (x `rem` y); 169.52/121.93 ; 169.52/121.93 gcd'1 True x xz = x; 169.52/121.93 gcd'1 yu yv yw = gcd'0 yv yw; 169.52/121.93 ; 169.52/121.93 gcd'2 x xz = gcd'1 (xz == 0) x xz; 169.52/121.93 gcd'2 yx yy = gcd'0 yx yy; 169.52/121.93 } 169.52/121.93 " 169.52/121.93 are unpacked to the following functions on top level 169.52/121.93 "gcd0Gcd' x xz = gcd0Gcd'2 x xz; 169.52/121.93 gcd0Gcd' x y = gcd0Gcd'0 x y; 169.52/121.93 " 169.52/121.93 "gcd0Gcd'0 x y = gcd0Gcd' y (x `rem` y); 169.52/121.93 " 169.52/121.93 "gcd0Gcd'2 x xz = gcd0Gcd'1 (xz == 0) x xz; 169.52/121.93 gcd0Gcd'2 yx yy = gcd0Gcd'0 yx yy; 169.52/121.93 " 169.52/121.93 "gcd0Gcd'1 True x xz = x; 169.52/121.93 gcd0Gcd'1 yu yv yw = gcd0Gcd'0 yv yw; 169.52/121.93 " 169.52/121.93 The bindings of the following Let/Where expression 169.52/121.93 "reduce1 x y (y == 0) where { 169.52/121.93 d = gcd x y; 169.52/121.93 ; 169.52/121.93 reduce0 x y True = x `quot` d :% (y `quot` d); 169.52/121.93 ; 169.52/121.93 reduce1 x y True = error []; 169.52/121.93 reduce1 x y False = reduce0 x y otherwise; 169.52/121.93 } 169.52/121.93 " 169.52/121.93 are unpacked to the following functions on top level 169.52/121.93 "reduce2D vux vuy = gcd vux vuy; 169.52/121.93 " 169.52/121.93 "reduce2Reduce1 vux vuy x y True = error []; 169.52/121.93 reduce2Reduce1 vux vuy x y False = reduce2Reduce0 vux vuy x y otherwise; 169.52/121.93 " 169.52/121.93 "reduce2Reduce0 vux vuy x y True = x `quot` reduce2D vux vuy :% (y `quot` reduce2D vux vuy); 169.52/121.93 " 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (8) 169.52/121.93 Obligation: 169.52/121.93 mainModule Main 169.52/121.93 module Main where { 169.52/121.93 import qualified Prelude; 169.52/121.93 } 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (9) NumRed (SOUND) 169.52/121.93 Num Reduction:All numbers are transformed to their corresponding representation with Succ, Pred and Zero. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (10) 169.52/121.93 Obligation: 169.52/121.93 mainModule Main 169.52/121.93 module Main where { 169.52/121.93 import qualified Prelude; 169.52/121.93 } 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (11) Narrow (SOUND) 169.52/121.93 Haskell To QDPs 169.52/121.93 169.52/121.93 digraph dp_graph { 169.52/121.93 node [outthreshold=100, inthreshold=100];1[label="(+)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 169.52/121.93 3[label="(+) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 169.52/121.93 4[label="(+) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1334[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1334[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1334 -> 5[label="",style="solid", color="blue", weight=3]; 169.52/121.93 1335[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1335[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1335 -> 6[label="",style="solid", color="blue", weight=3]; 169.52/121.93 1336[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1336[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1336 -> 7[label="",style="solid", color="blue", weight=3]; 169.52/121.93 1337[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1337[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1337 -> 8[label="",style="solid", color="blue", weight=3]; 169.52/121.93 1338[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1338[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1338 -> 9[label="",style="solid", color="blue", weight=3]; 169.52/121.93 5[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1339[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];5 -> 1339[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1339 -> 10[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 6[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];6 -> 11[label="",style="solid", color="black", weight=3]; 169.52/121.93 7[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 169.52/121.93 8[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1340[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];8 -> 1340[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1340 -> 13[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 9[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 169.52/121.93 10[label="(+) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1341[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];10 -> 1341[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1341 -> 15[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 11[label="primPlusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1342[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1342[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1342 -> 16[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1343[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1343[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1343 -> 17[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 12[label="primPlusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1344[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];12 -> 1344[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1344 -> 18[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 13[label="(+) vuz30 :% vuz31 vuz4",fontsize=16,color="burlywood",shape="box"];1345[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];13 -> 1345[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1345 -> 19[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 14[label="primPlusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1346[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1346[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1346 -> 20[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 15[label="(+) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];15 -> 21[label="",style="solid", color="black", weight=3]; 169.52/121.93 16[label="primPlusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1347[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1347[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1347 -> 22[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1348[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1348[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1348 -> 23[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 17[label="primPlusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1349[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1349[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1349 -> 24[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1350[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1350[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1350 -> 25[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 18[label="primPlusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1351[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];18 -> 1351[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1351 -> 26[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 19[label="(+) vuz30 :% vuz31 vuz40 :% vuz41",fontsize=16,color="black",shape="box"];19 -> 27[label="",style="solid", color="black", weight=3]; 169.52/121.93 20[label="primPlusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1352[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1352[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1352 -> 28[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 21[label="Integer (primPlusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];21 -> 29[label="",style="dashed", color="green", weight=3]; 169.52/121.93 22[label="primPlusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 169.52/121.93 23[label="primPlusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 169.52/121.93 24[label="primPlusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 169.52/121.93 25[label="primPlusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 169.52/121.93 26[label="primPlusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 169.52/121.93 27[label="reduce (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 169.52/121.93 28[label="primPlusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 169.52/121.93 29 -> 11[label="",style="dashed", color="red", weight=0]; 169.52/121.93 29[label="primPlusInt vuz30 vuz40",fontsize=16,color="magenta"];29 -> 37[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 29 -> 38[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 30[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];30 -> 39[label="",style="dashed", color="green", weight=3]; 169.52/121.93 31[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1353[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];31 -> 1353[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1353 -> 40[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1354[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 1354[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1354 -> 41[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 32 -> 31[label="",style="dashed", color="red", weight=0]; 169.52/121.93 32[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];32 -> 42[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 32 -> 43[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 33[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 169.52/121.93 34[label="Double (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];34 -> 45[label="",style="dashed", color="green", weight=3]; 169.52/121.93 34 -> 46[label="",style="dashed", color="green", weight=3]; 169.52/121.93 35[label="reduce2 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];35 -> 47[label="",style="solid", color="black", weight=3]; 169.52/121.93 36[label="Float (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];36 -> 48[label="",style="dashed", color="green", weight=3]; 169.52/121.93 36 -> 49[label="",style="dashed", color="green", weight=3]; 169.52/121.93 37[label="vuz40",fontsize=16,color="green",shape="box"];38[label="vuz30",fontsize=16,color="green",shape="box"];39[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1355[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];39 -> 1355[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1355 -> 50[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1356[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];39 -> 1356[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1356 -> 51[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 40[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1357[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];40 -> 1357[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1357 -> 52[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1358[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];40 -> 1358[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1358 -> 53[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 41[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1359[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];41 -> 1359[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1359 -> 54[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1360[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1360[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1360 -> 55[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 42[label="vuz40",fontsize=16,color="green",shape="box"];43[label="vuz30",fontsize=16,color="green",shape="box"];44 -> 39[label="",style="dashed", color="red", weight=0]; 169.52/121.93 44[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];44 -> 56[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 44 -> 57[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 45 -> 6[label="",style="dashed", color="red", weight=0]; 169.52/121.93 45[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];45 -> 58[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 45 -> 59[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 46[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];46 -> 60[label="",style="solid", color="black", weight=3]; 169.52/121.93 47 -> 61[label="",style="dashed", color="red", weight=0]; 169.52/121.93 47[label="reduce2Reduce1 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz31 * vuz41 == fromInt (Pos Zero))",fontsize=16,color="magenta"];47 -> 62[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 47 -> 63[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 47 -> 64[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 47 -> 65[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 47 -> 66[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 48 -> 6[label="",style="dashed", color="red", weight=0]; 169.52/121.93 48[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];48 -> 67[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 48 -> 68[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 49 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 49[label="vuz31 * vuz41",fontsize=16,color="magenta"];49 -> 69[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 49 -> 70[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 50[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1361[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];50 -> 1361[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1361 -> 71[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1362[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];50 -> 1362[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1362 -> 72[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 51[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1363[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];51 -> 1363[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1363 -> 73[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1364[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];51 -> 1364[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1364 -> 74[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 52[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];52 -> 75[label="",style="solid", color="black", weight=3]; 169.52/121.93 53[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];53 -> 76[label="",style="solid", color="black", weight=3]; 169.52/121.93 54[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];54 -> 77[label="",style="solid", color="black", weight=3]; 169.52/121.93 55[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];55 -> 78[label="",style="solid", color="black", weight=3]; 169.52/121.93 56[label="vuz40",fontsize=16,color="green",shape="box"];57[label="vuz30",fontsize=16,color="green",shape="box"];58 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 58[label="vuz40 * vuz31",fontsize=16,color="magenta"];58 -> 79[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 58 -> 80[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 59 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 59[label="vuz30 * vuz41",fontsize=16,color="magenta"];59 -> 81[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 60[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1365[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];60 -> 1365[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1365 -> 82[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1366[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];60 -> 1366[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1366 -> 83[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 62[label="vuz31",fontsize=16,color="green",shape="box"];63[label="vuz30",fontsize=16,color="green",shape="box"];64[label="vuz41",fontsize=16,color="green",shape="box"];65[label="vuz40",fontsize=16,color="green",shape="box"];66[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1367[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];66 -> 1367[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1367 -> 84[label="",style="solid", color="blue", weight=3]; 169.52/121.93 1368[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];66 -> 1368[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1368 -> 85[label="",style="solid", color="blue", weight=3]; 169.52/121.93 61[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) vuz15",fontsize=16,color="burlywood",shape="triangle"];1369[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];61 -> 1369[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1369 -> 86[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1370[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];61 -> 1370[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1370 -> 87[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 67 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 67[label="vuz40 * vuz31",fontsize=16,color="magenta"];67 -> 88[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 67 -> 89[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 68 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 68[label="vuz30 * vuz41",fontsize=16,color="magenta"];68 -> 90[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 68 -> 91[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 69[label="vuz31",fontsize=16,color="green",shape="box"];70[label="vuz41",fontsize=16,color="green",shape="box"];71[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];71 -> 92[label="",style="solid", color="black", weight=3]; 169.52/121.93 72[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];72 -> 93[label="",style="solid", color="black", weight=3]; 169.52/121.93 73[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];73 -> 94[label="",style="solid", color="black", weight=3]; 169.52/121.93 74[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];74 -> 95[label="",style="solid", color="black", weight=3]; 169.52/121.93 75 -> 31[label="",style="dashed", color="red", weight=0]; 169.52/121.93 75[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];75 -> 96[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 75 -> 97[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 76[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];77[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];78[label="Pos Zero",fontsize=16,color="green",shape="box"];79[label="vuz40",fontsize=16,color="green",shape="box"];80[label="vuz31",fontsize=16,color="green",shape="box"];81[label="vuz30",fontsize=16,color="green",shape="box"];82[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1371[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];82 -> 1371[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1371 -> 98[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1372[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];82 -> 1372[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1372 -> 99[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 83[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1373[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];83 -> 1373[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1373 -> 100[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1374[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];83 -> 1374[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1374 -> 101[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 84 -> 102[label="",style="dashed", color="red", weight=0]; 169.52/121.93 84[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="magenta"];84 -> 103[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 85[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1375[label="vuz31/Integer vuz310",fontsize=10,color="white",style="solid",shape="box"];85 -> 1375[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1375 -> 104[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 86[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) False",fontsize=16,color="black",shape="box"];86 -> 105[label="",style="solid", color="black", weight=3]; 169.52/121.93 87[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];87 -> 106[label="",style="solid", color="black", weight=3]; 169.52/121.93 88[label="vuz40",fontsize=16,color="green",shape="box"];89[label="vuz31",fontsize=16,color="green",shape="box"];90[label="vuz30",fontsize=16,color="green",shape="box"];91[label="vuz41",fontsize=16,color="green",shape="box"];92[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];92 -> 107[label="",style="dashed", color="green", weight=3]; 169.52/121.93 93[label="Succ vuz300",fontsize=16,color="green",shape="box"];94[label="Succ vuz400",fontsize=16,color="green",shape="box"];95[label="Zero",fontsize=16,color="green",shape="box"];96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];98 -> 108[label="",style="solid", color="black", weight=3]; 169.52/121.93 99[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];99 -> 109[label="",style="solid", color="black", weight=3]; 169.52/121.93 100[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];100 -> 110[label="",style="solid", color="black", weight=3]; 169.52/121.93 101[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];101 -> 111[label="",style="solid", color="black", weight=3]; 169.52/121.93 103 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 103[label="vuz31 * vuz41",fontsize=16,color="magenta"];103 -> 112[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 103 -> 113[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 102[label="vuz16 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];102 -> 114[label="",style="solid", color="black", weight=3]; 169.52/121.93 104[label="Integer vuz310 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1376[label="vuz41/Integer vuz410",fontsize=10,color="white",style="solid",shape="box"];104 -> 1376[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1376 -> 115[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 105[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) otherwise",fontsize=16,color="black",shape="box"];105 -> 116[label="",style="solid", color="black", weight=3]; 169.52/121.93 106[label="error []",fontsize=16,color="black",shape="box"];106 -> 117[label="",style="solid", color="black", weight=3]; 169.52/121.93 107 -> 39[label="",style="dashed", color="red", weight=0]; 169.52/121.93 107[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];107 -> 118[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 107 -> 119[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 108[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 120[label="",style="dashed", color="green", weight=3]; 169.52/121.93 109[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 121[label="",style="dashed", color="green", weight=3]; 169.52/121.93 110[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];110 -> 122[label="",style="dashed", color="green", weight=3]; 169.52/121.93 111[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];111 -> 123[label="",style="dashed", color="green", weight=3]; 169.52/121.93 112[label="vuz31",fontsize=16,color="green",shape="box"];113[label="vuz41",fontsize=16,color="green",shape="box"];114[label="primEqInt vuz16 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1377[label="vuz16/Pos vuz160",fontsize=10,color="white",style="solid",shape="box"];114 -> 1377[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1377 -> 124[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1378[label="vuz16/Neg vuz160",fontsize=10,color="white",style="solid",shape="box"];114 -> 1378[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1378 -> 125[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 115[label="Integer vuz310 * Integer vuz410 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];115 -> 126[label="",style="solid", color="black", weight=3]; 169.52/121.93 116[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];116 -> 127[label="",style="solid", color="black", weight=3]; 169.52/121.93 117[label="error []",fontsize=16,color="red",shape="box"];118[label="vuz400",fontsize=16,color="green",shape="box"];119[label="vuz300",fontsize=16,color="green",shape="box"];120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1379[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1379[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1379 -> 128[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1380[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1380[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1380 -> 129[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 121 -> 120[label="",style="dashed", color="red", weight=0]; 169.52/121.93 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 130[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 122 -> 120[label="",style="dashed", color="red", weight=0]; 169.52/121.93 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 131[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 123 -> 120[label="",style="dashed", color="red", weight=0]; 169.52/121.93 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 132[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 123 -> 133[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 124[label="primEqInt (Pos vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1381[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];124 -> 1381[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1381 -> 134[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1382[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 1382[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1382 -> 135[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 125[label="primEqInt (Neg vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1383[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];125 -> 1383[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1383 -> 136[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1384[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];125 -> 1384[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1384 -> 137[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 126 -> 138[label="",style="dashed", color="red", weight=0]; 169.52/121.93 126[label="Integer (primMulInt vuz310 vuz410) == fromInt (Pos Zero)",fontsize=16,color="magenta"];126 -> 139[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 127[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) :% (vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12))",fontsize=16,color="green",shape="box"];127 -> 140[label="",style="dashed", color="green", weight=3]; 169.52/121.93 127 -> 141[label="",style="dashed", color="green", weight=3]; 169.52/121.93 128[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1385[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];128 -> 1385[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1385 -> 142[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1386[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];128 -> 1386[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1386 -> 143[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 129[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1387[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];129 -> 1387[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1387 -> 144[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1388[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];129 -> 1388[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1388 -> 145[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 130[label="vuz410",fontsize=16,color="green",shape="box"];131[label="vuz310",fontsize=16,color="green",shape="box"];132[label="vuz310",fontsize=16,color="green",shape="box"];133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="primEqInt (Pos (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];134 -> 146[label="",style="solid", color="black", weight=3]; 169.52/121.93 135[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];135 -> 147[label="",style="solid", color="black", weight=3]; 169.52/121.93 136[label="primEqInt (Neg (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];136 -> 148[label="",style="solid", color="black", weight=3]; 169.52/121.93 137[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];137 -> 149[label="",style="solid", color="black", weight=3]; 169.52/121.93 139 -> 60[label="",style="dashed", color="red", weight=0]; 169.52/121.93 139[label="primMulInt vuz310 vuz410",fontsize=16,color="magenta"];139 -> 150[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 139 -> 151[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 138[label="Integer vuz17 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];138 -> 152[label="",style="solid", color="black", weight=3]; 169.52/121.93 140[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1389[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];140 -> 1389[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1389 -> 153[label="",style="solid", color="blue", weight=3]; 169.52/121.93 1390[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];140 -> 1390[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1390 -> 154[label="",style="solid", color="blue", weight=3]; 169.52/121.93 141[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1391[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];141 -> 1391[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1391 -> 155[label="",style="solid", color="blue", weight=3]; 169.52/121.93 1392[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];141 -> 1392[label="",style="solid", color="blue", weight=9]; 169.52/121.93 1392 -> 156[label="",style="solid", color="blue", weight=3]; 169.52/121.93 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 157[label="",style="solid", color="black", weight=3]; 169.52/121.93 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 158[label="",style="solid", color="black", weight=3]; 169.52/121.93 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 159[label="",style="solid", color="black", weight=3]; 169.52/121.93 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 160[label="",style="solid", color="black", weight=3]; 169.52/121.93 146[label="primEqInt (Pos (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];146 -> 161[label="",style="solid", color="black", weight=3]; 169.52/121.93 147[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];147 -> 162[label="",style="solid", color="black", weight=3]; 169.52/121.93 148[label="primEqInt (Neg (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];148 -> 163[label="",style="solid", color="black", weight=3]; 169.52/121.93 149[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];149 -> 164[label="",style="solid", color="black", weight=3]; 169.52/121.93 150[label="vuz310",fontsize=16,color="green",shape="box"];151[label="vuz410",fontsize=16,color="green",shape="box"];152[label="Integer vuz17 == Integer (Pos Zero)",fontsize=16,color="black",shape="triangle"];152 -> 165[label="",style="solid", color="black", weight=3]; 169.52/121.93 153 -> 166[label="",style="dashed", color="red", weight=0]; 169.52/121.93 153[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];153 -> 167[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 153 -> 168[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 154 -> 171[label="",style="dashed", color="red", weight=0]; 169.52/121.93 154[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];154 -> 172[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 154 -> 173[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 154 -> 174[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 155 -> 166[label="",style="dashed", color="red", weight=0]; 169.52/121.93 155[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];155 -> 169[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 155 -> 170[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 156 -> 171[label="",style="dashed", color="red", weight=0]; 169.52/121.93 156[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];156 -> 175[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 156 -> 176[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 156 -> 177[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 157 -> 39[label="",style="dashed", color="red", weight=0]; 169.52/121.93 157[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];157 -> 178[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 157 -> 179[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 158[label="Zero",fontsize=16,color="green",shape="box"];159[label="Zero",fontsize=16,color="green",shape="box"];160[label="Zero",fontsize=16,color="green",shape="box"];161[label="False",fontsize=16,color="green",shape="box"];162[label="True",fontsize=16,color="green",shape="box"];163[label="False",fontsize=16,color="green",shape="box"];164[label="True",fontsize=16,color="green",shape="box"];165[label="primEqInt vuz17 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1393[label="vuz17/Pos vuz170",fontsize=10,color="white",style="solid",shape="box"];165 -> 1393[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1393 -> 180[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1394[label="vuz17/Neg vuz170",fontsize=10,color="white",style="solid",shape="box"];165 -> 1394[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1394 -> 181[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 167 -> 5[label="",style="dashed", color="red", weight=0]; 169.52/121.93 167[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];167 -> 182[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 167 -> 183[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 168 -> 5[label="",style="dashed", color="red", weight=0]; 169.52/121.93 168[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];168 -> 184[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 168 -> 185[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 166[label="vuz18 `quot` reduce2D vuz19 (vuz14 * vuz12)",fontsize=16,color="burlywood",shape="triangle"];1395[label="vuz18/Integer vuz180",fontsize=10,color="white",style="solid",shape="box"];166 -> 1395[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1395 -> 186[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 172 -> 6[label="",style="dashed", color="red", weight=0]; 169.52/121.93 172[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];172 -> 187[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 172 -> 188[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 173 -> 6[label="",style="dashed", color="red", weight=0]; 169.52/121.93 173[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];173 -> 189[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 173 -> 190[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 174 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 174[label="vuz14 * vuz12",fontsize=16,color="magenta"];174 -> 191[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 174 -> 192[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 171[label="vuz20 `quot` reduce2D vuz22 vuz21",fontsize=16,color="black",shape="triangle"];171 -> 193[label="",style="solid", color="black", weight=3]; 169.52/121.93 169[label="vuz14 * vuz12",fontsize=16,color="burlywood",shape="triangle"];1396[label="vuz14/Integer vuz140",fontsize=10,color="white",style="solid",shape="box"];169 -> 1396[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1396 -> 194[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 170 -> 5[label="",style="dashed", color="red", weight=0]; 169.52/121.93 170[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];170 -> 195[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 170 -> 196[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 175 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 175[label="vuz14 * vuz12",fontsize=16,color="magenta"];175 -> 197[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 175 -> 198[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 176 -> 6[label="",style="dashed", color="red", weight=0]; 169.52/121.93 176[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];176 -> 199[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 176 -> 200[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 177 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 177[label="vuz14 * vuz12",fontsize=16,color="magenta"];177 -> 201[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 177 -> 202[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 178[label="Succ vuz4100",fontsize=16,color="green",shape="box"];179 -> 120[label="",style="dashed", color="red", weight=0]; 169.52/121.93 179[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];179 -> 203[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 179 -> 204[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 180[label="primEqInt (Pos vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1397[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];180 -> 1397[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1397 -> 205[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1398[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];180 -> 1398[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1398 -> 206[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 181[label="primEqInt (Neg vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1399[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];181 -> 1399[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1399 -> 207[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1400[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];181 -> 1400[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1400 -> 208[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 182 -> 169[label="",style="dashed", color="red", weight=0]; 169.52/121.93 182[label="vuz13 * vuz14",fontsize=16,color="magenta"];182 -> 209[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 182 -> 210[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 183 -> 169[label="",style="dashed", color="red", weight=0]; 169.52/121.93 183[label="vuz11 * vuz12",fontsize=16,color="magenta"];183 -> 211[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 184 -> 169[label="",style="dashed", color="red", weight=0]; 169.52/121.93 184[label="vuz13 * vuz14",fontsize=16,color="magenta"];184 -> 212[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 184 -> 213[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 185 -> 169[label="",style="dashed", color="red", weight=0]; 169.52/121.93 185[label="vuz11 * vuz12",fontsize=16,color="magenta"];185 -> 214[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 186[label="Integer vuz180 `quot` reduce2D vuz19 (vuz14 * vuz12)",fontsize=16,color="black",shape="box"];186 -> 215[label="",style="solid", color="black", weight=3]; 169.52/121.93 187 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 187[label="vuz13 * vuz14",fontsize=16,color="magenta"];187 -> 216[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 187 -> 217[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 188 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 188[label="vuz11 * vuz12",fontsize=16,color="magenta"];188 -> 218[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 188 -> 219[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 189 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 189[label="vuz13 * vuz14",fontsize=16,color="magenta"];189 -> 220[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 189 -> 221[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 190 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 190[label="vuz11 * vuz12",fontsize=16,color="magenta"];190 -> 222[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 190 -> 223[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 191[label="vuz14",fontsize=16,color="green",shape="box"];192[label="vuz12",fontsize=16,color="green",shape="box"];193[label="primQuotInt vuz20 (reduce2D vuz22 vuz21)",fontsize=16,color="burlywood",shape="box"];1401[label="vuz20/Pos vuz200",fontsize=10,color="white",style="solid",shape="box"];193 -> 1401[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1401 -> 224[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1402[label="vuz20/Neg vuz200",fontsize=10,color="white",style="solid",shape="box"];193 -> 1402[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1402 -> 225[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 194[label="Integer vuz140 * vuz12",fontsize=16,color="burlywood",shape="box"];1403[label="vuz12/Integer vuz120",fontsize=10,color="white",style="solid",shape="box"];194 -> 1403[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1403 -> 226[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 195 -> 169[label="",style="dashed", color="red", weight=0]; 169.52/121.93 195[label="vuz13 * vuz14",fontsize=16,color="magenta"];195 -> 227[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 195 -> 228[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 196 -> 169[label="",style="dashed", color="red", weight=0]; 169.52/121.93 196[label="vuz11 * vuz12",fontsize=16,color="magenta"];196 -> 229[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 197[label="vuz14",fontsize=16,color="green",shape="box"];198[label="vuz12",fontsize=16,color="green",shape="box"];199 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 199[label="vuz13 * vuz14",fontsize=16,color="magenta"];199 -> 230[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 199 -> 231[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 200 -> 46[label="",style="dashed", color="red", weight=0]; 169.52/121.93 200[label="vuz11 * vuz12",fontsize=16,color="magenta"];200 -> 232[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 200 -> 233[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 201[label="vuz14",fontsize=16,color="green",shape="box"];202[label="vuz12",fontsize=16,color="green",shape="box"];203[label="vuz3100",fontsize=16,color="green",shape="box"];204[label="Succ vuz4100",fontsize=16,color="green",shape="box"];205[label="primEqInt (Pos (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];205 -> 234[label="",style="solid", color="black", weight=3]; 169.52/121.93 206[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];206 -> 235[label="",style="solid", color="black", weight=3]; 169.52/121.93 207[label="primEqInt (Neg (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];207 -> 236[label="",style="solid", color="black", weight=3]; 169.52/121.93 208[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];208 -> 237[label="",style="solid", color="black", weight=3]; 169.52/121.93 209[label="vuz13",fontsize=16,color="green",shape="box"];210[label="vuz14",fontsize=16,color="green",shape="box"];211[label="vuz11",fontsize=16,color="green",shape="box"];212[label="vuz13",fontsize=16,color="green",shape="box"];213[label="vuz14",fontsize=16,color="green",shape="box"];214[label="vuz11",fontsize=16,color="green",shape="box"];215 -> 238[label="",style="dashed", color="red", weight=0]; 169.52/121.93 215[label="Integer vuz180 `quot` gcd vuz19 (vuz14 * vuz12)",fontsize=16,color="magenta"];215 -> 239[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 216[label="vuz13",fontsize=16,color="green",shape="box"];217[label="vuz14",fontsize=16,color="green",shape="box"];218[label="vuz11",fontsize=16,color="green",shape="box"];219[label="vuz12",fontsize=16,color="green",shape="box"];220[label="vuz13",fontsize=16,color="green",shape="box"];221[label="vuz14",fontsize=16,color="green",shape="box"];222[label="vuz11",fontsize=16,color="green",shape="box"];223[label="vuz12",fontsize=16,color="green",shape="box"];224[label="primQuotInt (Pos vuz200) (reduce2D vuz22 vuz21)",fontsize=16,color="black",shape="box"];224 -> 240[label="",style="solid", color="black", weight=3]; 169.52/121.93 225[label="primQuotInt (Neg vuz200) (reduce2D vuz22 vuz21)",fontsize=16,color="black",shape="box"];225 -> 241[label="",style="solid", color="black", weight=3]; 169.52/121.93 226[label="Integer vuz140 * Integer vuz120",fontsize=16,color="black",shape="box"];226 -> 242[label="",style="solid", color="black", weight=3]; 169.52/121.93 227[label="vuz13",fontsize=16,color="green",shape="box"];228[label="vuz14",fontsize=16,color="green",shape="box"];229[label="vuz11",fontsize=16,color="green",shape="box"];230[label="vuz13",fontsize=16,color="green",shape="box"];231[label="vuz14",fontsize=16,color="green",shape="box"];232[label="vuz11",fontsize=16,color="green",shape="box"];233[label="vuz12",fontsize=16,color="green",shape="box"];234[label="False",fontsize=16,color="green",shape="box"];235[label="True",fontsize=16,color="green",shape="box"];236[label="False",fontsize=16,color="green",shape="box"];237[label="True",fontsize=16,color="green",shape="box"];239 -> 169[label="",style="dashed", color="red", weight=0]; 169.52/121.93 239[label="vuz14 * vuz12",fontsize=16,color="magenta"];238[label="Integer vuz180 `quot` gcd vuz19 vuz27",fontsize=16,color="black",shape="triangle"];238 -> 243[label="",style="solid", color="black", weight=3]; 169.52/121.93 240 -> 330[label="",style="dashed", color="red", weight=0]; 169.52/121.93 240[label="primQuotInt (Pos vuz200) (gcd vuz22 vuz21)",fontsize=16,color="magenta"];240 -> 331[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 241 -> 358[label="",style="dashed", color="red", weight=0]; 169.52/121.93 241[label="primQuotInt (Neg vuz200) (gcd vuz22 vuz21)",fontsize=16,color="magenta"];241 -> 359[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 242[label="Integer (primMulInt vuz140 vuz120)",fontsize=16,color="green",shape="box"];242 -> 246[label="",style="dashed", color="green", weight=3]; 169.52/121.93 243[label="Integer vuz180 `quot` gcd3 vuz19 vuz27",fontsize=16,color="black",shape="box"];243 -> 247[label="",style="solid", color="black", weight=3]; 169.52/121.93 331[label="gcd vuz22 vuz21",fontsize=16,color="black",shape="triangle"];331 -> 347[label="",style="solid", color="black", weight=3]; 169.52/121.93 330[label="primQuotInt (Pos vuz200) vuz38",fontsize=16,color="burlywood",shape="triangle"];1404[label="vuz38/Pos vuz380",fontsize=10,color="white",style="solid",shape="box"];330 -> 1404[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1404 -> 348[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1405[label="vuz38/Neg vuz380",fontsize=10,color="white",style="solid",shape="box"];330 -> 1405[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1405 -> 349[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 359 -> 331[label="",style="dashed", color="red", weight=0]; 169.52/121.93 359[label="gcd vuz22 vuz21",fontsize=16,color="magenta"];358[label="primQuotInt (Neg vuz200) vuz41",fontsize=16,color="burlywood",shape="triangle"];1406[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];358 -> 1406[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1406 -> 375[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1407[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];358 -> 1407[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1407 -> 376[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 246 -> 60[label="",style="dashed", color="red", weight=0]; 169.52/121.93 246[label="primMulInt vuz140 vuz120",fontsize=16,color="magenta"];246 -> 250[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 246 -> 251[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 247[label="Integer vuz180 `quot` gcd2 (vuz19 == fromInt (Pos Zero)) vuz19 vuz27",fontsize=16,color="burlywood",shape="box"];1408[label="vuz19/Integer vuz190",fontsize=10,color="white",style="solid",shape="box"];247 -> 1408[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1408 -> 252[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 347[label="gcd3 vuz22 vuz21",fontsize=16,color="black",shape="box"];347 -> 353[label="",style="solid", color="black", weight=3]; 169.52/121.93 348[label="primQuotInt (Pos vuz200) (Pos vuz380)",fontsize=16,color="burlywood",shape="box"];1409[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];348 -> 1409[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1409 -> 354[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1410[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];348 -> 1410[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1410 -> 355[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 349[label="primQuotInt (Pos vuz200) (Neg vuz380)",fontsize=16,color="burlywood",shape="box"];1411[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];349 -> 1411[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1411 -> 356[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1412[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];349 -> 1412[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1412 -> 357[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 375[label="primQuotInt (Neg vuz200) (Pos vuz410)",fontsize=16,color="burlywood",shape="box"];1413[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];375 -> 1413[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1413 -> 379[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1414[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];375 -> 1414[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1414 -> 380[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 376[label="primQuotInt (Neg vuz200) (Neg vuz410)",fontsize=16,color="burlywood",shape="box"];1415[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];376 -> 1415[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1415 -> 381[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1416[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];376 -> 1416[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1416 -> 382[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 250[label="vuz140",fontsize=16,color="green",shape="box"];251[label="vuz120",fontsize=16,color="green",shape="box"];252[label="Integer vuz180 `quot` gcd2 (Integer vuz190 == fromInt (Pos Zero)) (Integer vuz190) vuz27",fontsize=16,color="black",shape="box"];252 -> 257[label="",style="solid", color="black", weight=3]; 169.52/121.93 353 -> 377[label="",style="dashed", color="red", weight=0]; 169.52/121.93 353[label="gcd2 (vuz22 == fromInt (Pos Zero)) vuz22 vuz21",fontsize=16,color="magenta"];353 -> 378[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 354[label="primQuotInt (Pos vuz200) (Pos (Succ vuz3800))",fontsize=16,color="black",shape="box"];354 -> 383[label="",style="solid", color="black", weight=3]; 169.52/121.93 355[label="primQuotInt (Pos vuz200) (Pos Zero)",fontsize=16,color="black",shape="box"];355 -> 384[label="",style="solid", color="black", weight=3]; 169.52/121.93 356[label="primQuotInt (Pos vuz200) (Neg (Succ vuz3800))",fontsize=16,color="black",shape="box"];356 -> 385[label="",style="solid", color="black", weight=3]; 169.52/121.93 357[label="primQuotInt (Pos vuz200) (Neg Zero)",fontsize=16,color="black",shape="box"];357 -> 386[label="",style="solid", color="black", weight=3]; 169.52/121.93 379[label="primQuotInt (Neg vuz200) (Pos (Succ vuz4100))",fontsize=16,color="black",shape="box"];379 -> 393[label="",style="solid", color="black", weight=3]; 169.52/121.93 380[label="primQuotInt (Neg vuz200) (Pos Zero)",fontsize=16,color="black",shape="box"];380 -> 394[label="",style="solid", color="black", weight=3]; 169.52/121.93 381[label="primQuotInt (Neg vuz200) (Neg (Succ vuz4100))",fontsize=16,color="black",shape="box"];381 -> 395[label="",style="solid", color="black", weight=3]; 169.52/121.93 382[label="primQuotInt (Neg vuz200) (Neg Zero)",fontsize=16,color="black",shape="box"];382 -> 396[label="",style="solid", color="black", weight=3]; 169.52/121.93 257 -> 264[label="",style="dashed", color="red", weight=0]; 169.52/121.93 257[label="Integer vuz180 `quot` gcd2 (Integer vuz190 == Integer (Pos Zero)) (Integer vuz190) vuz27",fontsize=16,color="magenta"];257 -> 265[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 378 -> 102[label="",style="dashed", color="red", weight=0]; 169.52/121.93 378[label="vuz22 == fromInt (Pos Zero)",fontsize=16,color="magenta"];378 -> 387[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 377[label="gcd2 vuz42 vuz22 vuz21",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz42/False",fontsize=10,color="white",style="solid",shape="box"];377 -> 1417[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1417 -> 388[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1418[label="vuz42/True",fontsize=10,color="white",style="solid",shape="box"];377 -> 1418[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1418 -> 389[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 383[label="Pos (primDivNatS vuz200 (Succ vuz3800))",fontsize=16,color="green",shape="box"];383 -> 397[label="",style="dashed", color="green", weight=3]; 169.52/121.93 384[label="error []",fontsize=16,color="black",shape="triangle"];384 -> 398[label="",style="solid", color="black", weight=3]; 169.52/121.93 385[label="Neg (primDivNatS vuz200 (Succ vuz3800))",fontsize=16,color="green",shape="box"];385 -> 399[label="",style="dashed", color="green", weight=3]; 169.52/121.93 386 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 386[label="error []",fontsize=16,color="magenta"];393[label="Neg (primDivNatS vuz200 (Succ vuz4100))",fontsize=16,color="green",shape="box"];393 -> 403[label="",style="dashed", color="green", weight=3]; 169.52/121.93 394 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 394[label="error []",fontsize=16,color="magenta"];395[label="Pos (primDivNatS vuz200 (Succ vuz4100))",fontsize=16,color="green",shape="box"];395 -> 404[label="",style="dashed", color="green", weight=3]; 169.52/121.93 396 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 396[label="error []",fontsize=16,color="magenta"];265 -> 152[label="",style="dashed", color="red", weight=0]; 169.52/121.93 265[label="Integer vuz190 == Integer (Pos Zero)",fontsize=16,color="magenta"];265 -> 270[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 264[label="Integer vuz180 `quot` gcd2 vuz30 (Integer vuz190) vuz27",fontsize=16,color="burlywood",shape="triangle"];1419[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];264 -> 1419[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1419 -> 271[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1420[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];264 -> 1420[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1420 -> 272[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 387[label="vuz22",fontsize=16,color="green",shape="box"];388[label="gcd2 False vuz22 vuz21",fontsize=16,color="black",shape="box"];388 -> 400[label="",style="solid", color="black", weight=3]; 169.52/121.93 389[label="gcd2 True vuz22 vuz21",fontsize=16,color="black",shape="box"];389 -> 401[label="",style="solid", color="black", weight=3]; 169.52/121.93 397[label="primDivNatS vuz200 (Succ vuz3800)",fontsize=16,color="burlywood",shape="triangle"];1421[label="vuz200/Succ vuz2000",fontsize=10,color="white",style="solid",shape="box"];397 -> 1421[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1421 -> 405[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1422[label="vuz200/Zero",fontsize=10,color="white",style="solid",shape="box"];397 -> 1422[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1422 -> 406[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 398[label="error []",fontsize=16,color="red",shape="box"];399 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 399[label="primDivNatS vuz200 (Succ vuz3800)",fontsize=16,color="magenta"];399 -> 407[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 403 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 403[label="primDivNatS vuz200 (Succ vuz4100)",fontsize=16,color="magenta"];403 -> 411[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 403 -> 412[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 404 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 404[label="primDivNatS vuz200 (Succ vuz4100)",fontsize=16,color="magenta"];404 -> 413[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 404 -> 414[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 270[label="vuz190",fontsize=16,color="green",shape="box"];271[label="Integer vuz180 `quot` gcd2 False (Integer vuz190) vuz27",fontsize=16,color="black",shape="box"];271 -> 279[label="",style="solid", color="black", weight=3]; 169.52/121.93 272[label="Integer vuz180 `quot` gcd2 True (Integer vuz190) vuz27",fontsize=16,color="black",shape="box"];272 -> 280[label="",style="solid", color="black", weight=3]; 169.52/121.93 400[label="gcd0 vuz22 vuz21",fontsize=16,color="black",shape="triangle"];400 -> 408[label="",style="solid", color="black", weight=3]; 169.52/121.93 401 -> 409[label="",style="dashed", color="red", weight=0]; 169.52/121.93 401[label="gcd1 (vuz21 == fromInt (Pos Zero)) vuz22 vuz21",fontsize=16,color="magenta"];401 -> 410[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 405[label="primDivNatS (Succ vuz2000) (Succ vuz3800)",fontsize=16,color="black",shape="box"];405 -> 415[label="",style="solid", color="black", weight=3]; 169.52/121.93 406[label="primDivNatS Zero (Succ vuz3800)",fontsize=16,color="black",shape="box"];406 -> 416[label="",style="solid", color="black", weight=3]; 169.52/121.93 407[label="vuz3800",fontsize=16,color="green",shape="box"];411[label="vuz200",fontsize=16,color="green",shape="box"];412[label="vuz4100",fontsize=16,color="green",shape="box"];413[label="vuz200",fontsize=16,color="green",shape="box"];414[label="vuz4100",fontsize=16,color="green",shape="box"];279[label="Integer vuz180 `quot` gcd0 (Integer vuz190) vuz27",fontsize=16,color="black",shape="triangle"];279 -> 289[label="",style="solid", color="black", weight=3]; 169.52/121.93 280[label="Integer vuz180 `quot` gcd1 (vuz27 == fromInt (Pos Zero)) (Integer vuz190) vuz27",fontsize=16,color="burlywood",shape="box"];1423[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];280 -> 1423[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1423 -> 290[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 408[label="gcd0Gcd' (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];408 -> 417[label="",style="solid", color="black", weight=3]; 169.52/121.93 410 -> 102[label="",style="dashed", color="red", weight=0]; 169.52/121.93 410[label="vuz21 == fromInt (Pos Zero)",fontsize=16,color="magenta"];410 -> 418[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 409[label="gcd1 vuz43 vuz22 vuz21",fontsize=16,color="burlywood",shape="triangle"];1424[label="vuz43/False",fontsize=10,color="white",style="solid",shape="box"];409 -> 1424[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1424 -> 419[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1425[label="vuz43/True",fontsize=10,color="white",style="solid",shape="box"];409 -> 1425[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1425 -> 420[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 415[label="primDivNatS0 vuz2000 vuz3800 (primGEqNatS vuz2000 vuz3800)",fontsize=16,color="burlywood",shape="box"];1426[label="vuz2000/Succ vuz20000",fontsize=10,color="white",style="solid",shape="box"];415 -> 1426[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1426 -> 422[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1427[label="vuz2000/Zero",fontsize=10,color="white",style="solid",shape="box"];415 -> 1427[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1427 -> 423[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 416[label="Zero",fontsize=16,color="green",shape="box"];289[label="Integer vuz180 `quot` gcd0Gcd' (abs (Integer vuz190)) (abs vuz27)",fontsize=16,color="black",shape="box"];289 -> 297[label="",style="solid", color="black", weight=3]; 169.52/121.93 290[label="Integer vuz180 `quot` gcd1 (Integer vuz270 == fromInt (Pos Zero)) (Integer vuz190) (Integer vuz270)",fontsize=16,color="black",shape="box"];290 -> 298[label="",style="solid", color="black", weight=3]; 169.52/121.93 417[label="gcd0Gcd'2 (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];417 -> 424[label="",style="solid", color="black", weight=3]; 169.52/121.93 418[label="vuz21",fontsize=16,color="green",shape="box"];419[label="gcd1 False vuz22 vuz21",fontsize=16,color="black",shape="box"];419 -> 425[label="",style="solid", color="black", weight=3]; 169.52/121.93 420[label="gcd1 True vuz22 vuz21",fontsize=16,color="black",shape="box"];420 -> 426[label="",style="solid", color="black", weight=3]; 169.52/121.93 422[label="primDivNatS0 (Succ vuz20000) vuz3800 (primGEqNatS (Succ vuz20000) vuz3800)",fontsize=16,color="burlywood",shape="box"];1428[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];422 -> 1428[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1428 -> 428[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1429[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];422 -> 1429[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1429 -> 429[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 423[label="primDivNatS0 Zero vuz3800 (primGEqNatS Zero vuz3800)",fontsize=16,color="burlywood",shape="box"];1430[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];423 -> 1430[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1430 -> 430[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1431[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];423 -> 1431[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1431 -> 431[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 297[label="Integer vuz180 `quot` gcd0Gcd'2 (abs (Integer vuz190)) (abs vuz27)",fontsize=16,color="black",shape="box"];297 -> 305[label="",style="solid", color="black", weight=3]; 169.52/121.93 298 -> 306[label="",style="dashed", color="red", weight=0]; 169.52/121.93 298[label="Integer vuz180 `quot` gcd1 (Integer vuz270 == Integer (Pos Zero)) (Integer vuz190) (Integer vuz270)",fontsize=16,color="magenta"];298 -> 307[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 424 -> 432[label="",style="dashed", color="red", weight=0]; 169.52/121.93 424[label="gcd0Gcd'1 (abs vuz21 == fromInt (Pos Zero)) (abs vuz22) (abs vuz21)",fontsize=16,color="magenta"];424 -> 433[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 425 -> 400[label="",style="dashed", color="red", weight=0]; 169.52/121.93 425[label="gcd0 vuz22 vuz21",fontsize=16,color="magenta"];426 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 426[label="error []",fontsize=16,color="magenta"];428[label="primDivNatS0 (Succ vuz20000) (Succ vuz38000) (primGEqNatS (Succ vuz20000) (Succ vuz38000))",fontsize=16,color="black",shape="box"];428 -> 434[label="",style="solid", color="black", weight=3]; 169.52/121.93 429[label="primDivNatS0 (Succ vuz20000) Zero (primGEqNatS (Succ vuz20000) Zero)",fontsize=16,color="black",shape="box"];429 -> 435[label="",style="solid", color="black", weight=3]; 169.52/121.93 430[label="primDivNatS0 Zero (Succ vuz38000) (primGEqNatS Zero (Succ vuz38000))",fontsize=16,color="black",shape="box"];430 -> 436[label="",style="solid", color="black", weight=3]; 169.52/121.93 431[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];431 -> 437[label="",style="solid", color="black", weight=3]; 169.52/121.93 305[label="Integer vuz180 `quot` gcd0Gcd'1 (abs vuz27 == fromInt (Pos Zero)) (abs (Integer vuz190)) (abs vuz27)",fontsize=16,color="black",shape="box"];305 -> 314[label="",style="solid", color="black", weight=3]; 169.52/121.93 307 -> 152[label="",style="dashed", color="red", weight=0]; 169.52/121.93 307[label="Integer vuz270 == Integer (Pos Zero)",fontsize=16,color="magenta"];307 -> 315[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 306[label="Integer vuz180 `quot` gcd1 vuz35 (Integer vuz190) (Integer vuz270)",fontsize=16,color="burlywood",shape="triangle"];1432[label="vuz35/False",fontsize=10,color="white",style="solid",shape="box"];306 -> 1432[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1432 -> 316[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1433[label="vuz35/True",fontsize=10,color="white",style="solid",shape="box"];306 -> 1433[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1433 -> 317[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 433 -> 102[label="",style="dashed", color="red", weight=0]; 169.52/121.93 433[label="abs vuz21 == fromInt (Pos Zero)",fontsize=16,color="magenta"];433 -> 438[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 432[label="gcd0Gcd'1 vuz44 (abs vuz22) (abs vuz21)",fontsize=16,color="burlywood",shape="triangle"];1434[label="vuz44/False",fontsize=10,color="white",style="solid",shape="box"];432 -> 1434[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1434 -> 439[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1435[label="vuz44/True",fontsize=10,color="white",style="solid",shape="box"];432 -> 1435[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1435 -> 440[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 434 -> 892[label="",style="dashed", color="red", weight=0]; 169.52/121.93 434[label="primDivNatS0 (Succ vuz20000) (Succ vuz38000) (primGEqNatS vuz20000 vuz38000)",fontsize=16,color="magenta"];434 -> 893[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 434 -> 894[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 434 -> 895[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 434 -> 896[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 435[label="primDivNatS0 (Succ vuz20000) Zero True",fontsize=16,color="black",shape="box"];435 -> 444[label="",style="solid", color="black", weight=3]; 169.52/121.93 436[label="primDivNatS0 Zero (Succ vuz38000) False",fontsize=16,color="black",shape="box"];436 -> 445[label="",style="solid", color="black", weight=3]; 169.52/121.93 437[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];437 -> 446[label="",style="solid", color="black", weight=3]; 169.52/121.93 314[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal vuz27 == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal vuz27)",fontsize=16,color="black",shape="box"];314 -> 323[label="",style="solid", color="black", weight=3]; 169.52/121.93 315[label="vuz270",fontsize=16,color="green",shape="box"];316[label="Integer vuz180 `quot` gcd1 False (Integer vuz190) (Integer vuz270)",fontsize=16,color="black",shape="box"];316 -> 324[label="",style="solid", color="black", weight=3]; 169.52/121.93 317[label="Integer vuz180 `quot` gcd1 True (Integer vuz190) (Integer vuz270)",fontsize=16,color="black",shape="box"];317 -> 325[label="",style="solid", color="black", weight=3]; 169.52/121.93 438[label="abs vuz21",fontsize=16,color="black",shape="triangle"];438 -> 447[label="",style="solid", color="black", weight=3]; 169.52/121.93 439[label="gcd0Gcd'1 False (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];439 -> 448[label="",style="solid", color="black", weight=3]; 169.52/121.93 440[label="gcd0Gcd'1 True (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];440 -> 449[label="",style="solid", color="black", weight=3]; 169.52/121.93 893[label="vuz38000",fontsize=16,color="green",shape="box"];894[label="vuz20000",fontsize=16,color="green",shape="box"];895[label="vuz38000",fontsize=16,color="green",shape="box"];896[label="vuz20000",fontsize=16,color="green",shape="box"];892[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS vuz75 vuz76)",fontsize=16,color="burlywood",shape="triangle"];1436[label="vuz75/Succ vuz750",fontsize=10,color="white",style="solid",shape="box"];892 -> 1436[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1436 -> 933[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1437[label="vuz75/Zero",fontsize=10,color="white",style="solid",shape="box"];892 -> 1437[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1437 -> 934[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 444[label="Succ (primDivNatS (primMinusNatS (Succ vuz20000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];444 -> 455[label="",style="dashed", color="green", weight=3]; 169.52/121.93 445[label="Zero",fontsize=16,color="green",shape="box"];446[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];446 -> 456[label="",style="dashed", color="green", weight=3]; 169.52/121.93 323[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal2 vuz27 == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal2 vuz27)",fontsize=16,color="black",shape="box"];323 -> 390[label="",style="solid", color="black", weight=3]; 169.52/121.93 324 -> 279[label="",style="dashed", color="red", weight=0]; 169.52/121.93 324[label="Integer vuz180 `quot` gcd0 (Integer vuz190) (Integer vuz270)",fontsize=16,color="magenta"];324 -> 391[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 325[label="Integer vuz180 `quot` error []",fontsize=16,color="black",shape="box"];325 -> 392[label="",style="solid", color="black", weight=3]; 169.52/121.93 447[label="absReal vuz21",fontsize=16,color="black",shape="box"];447 -> 457[label="",style="solid", color="black", weight=3]; 169.52/121.93 448 -> 458[label="",style="dashed", color="red", weight=0]; 169.52/121.93 448[label="gcd0Gcd'0 (abs vuz22) (abs vuz21)",fontsize=16,color="magenta"];448 -> 459[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 448 -> 460[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 449 -> 438[label="",style="dashed", color="red", weight=0]; 169.52/121.93 449[label="abs vuz22",fontsize=16,color="magenta"];449 -> 461[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 933[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS (Succ vuz750) vuz76)",fontsize=16,color="burlywood",shape="box"];1438[label="vuz76/Succ vuz760",fontsize=10,color="white",style="solid",shape="box"];933 -> 1438[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1438 -> 950[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1439[label="vuz76/Zero",fontsize=10,color="white",style="solid",shape="box"];933 -> 1439[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1439 -> 951[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 934[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS Zero vuz76)",fontsize=16,color="burlywood",shape="box"];1440[label="vuz76/Succ vuz760",fontsize=10,color="white",style="solid",shape="box"];934 -> 1440[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1440 -> 952[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1441[label="vuz76/Zero",fontsize=10,color="white",style="solid",shape="box"];934 -> 1441[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1441 -> 953[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 455 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 455[label="primDivNatS (primMinusNatS (Succ vuz20000) Zero) (Succ Zero)",fontsize=16,color="magenta"];455 -> 466[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 455 -> 467[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 456 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 456[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];456 -> 468[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 456 -> 469[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 390[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];390 -> 402[label="",style="solid", color="black", weight=3]; 169.52/121.93 391[label="Integer vuz270",fontsize=16,color="green",shape="box"];392[label="error []",fontsize=16,color="red",shape="box"];457[label="absReal2 vuz21",fontsize=16,color="black",shape="box"];457 -> 470[label="",style="solid", color="black", weight=3]; 169.52/121.93 459 -> 438[label="",style="dashed", color="red", weight=0]; 169.52/121.93 459[label="abs vuz22",fontsize=16,color="magenta"];459 -> 471[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 460 -> 438[label="",style="dashed", color="red", weight=0]; 169.52/121.93 460[label="abs vuz21",fontsize=16,color="magenta"];458[label="gcd0Gcd'0 vuz46 vuz45",fontsize=16,color="black",shape="triangle"];458 -> 472[label="",style="solid", color="black", weight=3]; 169.52/121.93 461[label="vuz22",fontsize=16,color="green",shape="box"];950[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS (Succ vuz750) (Succ vuz760))",fontsize=16,color="black",shape="box"];950 -> 967[label="",style="solid", color="black", weight=3]; 169.52/121.93 951[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS (Succ vuz750) Zero)",fontsize=16,color="black",shape="box"];951 -> 968[label="",style="solid", color="black", weight=3]; 169.52/121.93 952[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS Zero (Succ vuz760))",fontsize=16,color="black",shape="box"];952 -> 969[label="",style="solid", color="black", weight=3]; 169.52/121.93 953[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];953 -> 970[label="",style="solid", color="black", weight=3]; 169.52/121.93 466[label="primMinusNatS (Succ vuz20000) Zero",fontsize=16,color="black",shape="triangle"];466 -> 480[label="",style="solid", color="black", weight=3]; 169.52/121.93 467[label="Zero",fontsize=16,color="green",shape="box"];468[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];468 -> 481[label="",style="solid", color="black", weight=3]; 169.52/121.93 469[label="Zero",fontsize=16,color="green",shape="box"];402[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];402 -> 421[label="",style="solid", color="black", weight=3]; 169.52/121.93 470[label="absReal1 vuz21 (vuz21 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];470 -> 482[label="",style="solid", color="black", weight=3]; 169.52/121.93 471[label="vuz22",fontsize=16,color="green",shape="box"];472[label="gcd0Gcd' vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];472 -> 483[label="",style="solid", color="black", weight=3]; 169.52/121.93 967 -> 892[label="",style="dashed", color="red", weight=0]; 169.52/121.93 967[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS vuz750 vuz760)",fontsize=16,color="magenta"];967 -> 981[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 967 -> 982[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 968[label="primDivNatS0 (Succ vuz73) (Succ vuz74) True",fontsize=16,color="black",shape="triangle"];968 -> 983[label="",style="solid", color="black", weight=3]; 169.52/121.93 969[label="primDivNatS0 (Succ vuz73) (Succ vuz74) False",fontsize=16,color="black",shape="box"];969 -> 984[label="",style="solid", color="black", weight=3]; 169.52/121.93 970 -> 968[label="",style="dashed", color="red", weight=0]; 169.52/121.93 970[label="primDivNatS0 (Succ vuz73) (Succ vuz74) True",fontsize=16,color="magenta"];480[label="Succ vuz20000",fontsize=16,color="green",shape="box"];481[label="Zero",fontsize=16,color="green",shape="box"];421[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];1442[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];421 -> 1442[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1442 -> 427[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 482[label="absReal1 vuz21 (compare vuz21 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];482 -> 494[label="",style="solid", color="black", weight=3]; 169.52/121.93 483[label="gcd0Gcd'2 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];483 -> 495[label="",style="solid", color="black", weight=3]; 169.52/121.93 981[label="vuz760",fontsize=16,color="green",shape="box"];982[label="vuz750",fontsize=16,color="green",shape="box"];983[label="Succ (primDivNatS (primMinusNatS (Succ vuz73) (Succ vuz74)) (Succ (Succ vuz74)))",fontsize=16,color="green",shape="box"];983 -> 998[label="",style="dashed", color="green", weight=3]; 169.52/121.93 984[label="Zero",fontsize=16,color="green",shape="box"];427[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];427 -> 441[label="",style="solid", color="black", weight=3]; 169.52/121.93 494[label="absReal1 vuz21 (not (compare vuz21 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];494 -> 508[label="",style="solid", color="black", weight=3]; 169.52/121.93 495 -> 509[label="",style="dashed", color="red", weight=0]; 169.52/121.93 495[label="gcd0Gcd'1 (vuz46 `rem` vuz45 == fromInt (Pos Zero)) vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];495 -> 510[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 998 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 998[label="primDivNatS (primMinusNatS (Succ vuz73) (Succ vuz74)) (Succ (Succ vuz74))",fontsize=16,color="magenta"];998 -> 1013[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 998 -> 1014[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 441[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];441 -> 450[label="",style="solid", color="black", weight=3]; 169.52/121.93 508[label="absReal1 vuz21 (not (primCmpInt vuz21 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1443[label="vuz21/Pos vuz210",fontsize=10,color="white",style="solid",shape="box"];508 -> 1443[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1443 -> 518[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1444[label="vuz21/Neg vuz210",fontsize=10,color="white",style="solid",shape="box"];508 -> 1444[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1444 -> 519[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 510 -> 102[label="",style="dashed", color="red", weight=0]; 169.52/121.93 510[label="vuz46 `rem` vuz45 == fromInt (Pos Zero)",fontsize=16,color="magenta"];510 -> 520[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 509[label="gcd0Gcd'1 vuz47 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="burlywood",shape="triangle"];1445[label="vuz47/False",fontsize=10,color="white",style="solid",shape="box"];509 -> 1445[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1445 -> 521[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1446[label="vuz47/True",fontsize=10,color="white",style="solid",shape="box"];509 -> 1446[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1446 -> 522[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1013 -> 828[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1013[label="primMinusNatS (Succ vuz73) (Succ vuz74)",fontsize=16,color="magenta"];1013 -> 1028[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1013 -> 1029[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1014[label="Succ vuz74",fontsize=16,color="green",shape="box"];450[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1447[label="vuz270/Pos vuz2700",fontsize=10,color="white",style="solid",shape="box"];450 -> 1447[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1447 -> 473[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1448[label="vuz270/Neg vuz2700",fontsize=10,color="white",style="solid",shape="box"];450 -> 1448[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1448 -> 474[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 518[label="absReal1 (Pos vuz210) (not (primCmpInt (Pos vuz210) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1449[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];518 -> 1449[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1449 -> 534[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1450[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];518 -> 1450[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1450 -> 535[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 519[label="absReal1 (Neg vuz210) (not (primCmpInt (Neg vuz210) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1451[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];519 -> 1451[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1451 -> 536[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1452[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];519 -> 1452[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1452 -> 537[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 520[label="vuz46 `rem` vuz45",fontsize=16,color="black",shape="triangle"];520 -> 538[label="",style="solid", color="black", weight=3]; 169.52/121.93 521[label="gcd0Gcd'1 False vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];521 -> 539[label="",style="solid", color="black", weight=3]; 169.52/121.93 522[label="gcd0Gcd'1 True vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];522 -> 540[label="",style="solid", color="black", weight=3]; 169.52/121.93 1028[label="Succ vuz74",fontsize=16,color="green",shape="box"];1029[label="Succ vuz73",fontsize=16,color="green",shape="box"];828[label="primMinusNatS vuz69 vuz70",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz69/Succ vuz690",fontsize=10,color="white",style="solid",shape="box"];828 -> 1453[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1453 -> 844[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1454[label="vuz69/Zero",fontsize=10,color="white",style="solid",shape="box"];828 -> 1454[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1454 -> 845[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 473[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1455[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];473 -> 1455[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1455 -> 484[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1456[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];473 -> 1456[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1456 -> 485[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 474[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1457[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];474 -> 1457[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1457 -> 486[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1458[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];474 -> 1458[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1458 -> 487[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 534[label="absReal1 (Pos (Succ vuz2100)) (not (primCmpInt (Pos (Succ vuz2100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];534 -> 553[label="",style="solid", color="black", weight=3]; 169.52/121.93 535[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];535 -> 554[label="",style="solid", color="black", weight=3]; 169.52/121.93 536[label="absReal1 (Neg (Succ vuz2100)) (not (primCmpInt (Neg (Succ vuz2100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];536 -> 555[label="",style="solid", color="black", weight=3]; 169.52/121.93 537[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];537 -> 556[label="",style="solid", color="black", weight=3]; 169.52/121.93 538[label="primRemInt vuz46 vuz45",fontsize=16,color="burlywood",shape="triangle"];1459[label="vuz46/Pos vuz460",fontsize=10,color="white",style="solid",shape="box"];538 -> 1459[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1459 -> 557[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1460[label="vuz46/Neg vuz460",fontsize=10,color="white",style="solid",shape="box"];538 -> 1460[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1460 -> 558[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 539 -> 458[label="",style="dashed", color="red", weight=0]; 169.52/121.93 539[label="gcd0Gcd'0 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];539 -> 559[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 539 -> 560[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 540[label="vuz45",fontsize=16,color="green",shape="box"];844[label="primMinusNatS (Succ vuz690) vuz70",fontsize=16,color="burlywood",shape="box"];1461[label="vuz70/Succ vuz700",fontsize=10,color="white",style="solid",shape="box"];844 -> 1461[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1461 -> 861[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1462[label="vuz70/Zero",fontsize=10,color="white",style="solid",shape="box"];844 -> 1462[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1462 -> 862[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 845[label="primMinusNatS Zero vuz70",fontsize=16,color="burlywood",shape="box"];1463[label="vuz70/Succ vuz700",fontsize=10,color="white",style="solid",shape="box"];845 -> 1463[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1463 -> 863[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1464[label="vuz70/Zero",fontsize=10,color="white",style="solid",shape="box"];845 -> 1464[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1464 -> 864[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 484[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];484 -> 496[label="",style="solid", color="black", weight=3]; 169.52/121.93 485[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];485 -> 497[label="",style="solid", color="black", weight=3]; 169.52/121.93 486[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];486 -> 498[label="",style="solid", color="black", weight=3]; 169.52/121.93 487[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];487 -> 499[label="",style="solid", color="black", weight=3]; 169.52/121.93 553[label="absReal1 (Pos (Succ vuz2100)) (not (primCmpInt (Pos (Succ vuz2100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];553 -> 572[label="",style="solid", color="black", weight=3]; 169.52/121.93 554[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];554 -> 573[label="",style="solid", color="black", weight=3]; 169.52/121.93 555[label="absReal1 (Neg (Succ vuz2100)) (not (primCmpInt (Neg (Succ vuz2100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];555 -> 574[label="",style="solid", color="black", weight=3]; 169.52/121.93 556[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];556 -> 575[label="",style="solid", color="black", weight=3]; 169.52/121.93 557[label="primRemInt (Pos vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1465[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];557 -> 1465[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1465 -> 576[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1466[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];557 -> 1466[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1466 -> 577[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 558[label="primRemInt (Neg vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1467[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];558 -> 1467[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1467 -> 578[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1468[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];558 -> 1468[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1468 -> 579[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 559[label="vuz45",fontsize=16,color="green",shape="box"];560 -> 520[label="",style="dashed", color="red", weight=0]; 169.52/121.93 560[label="vuz46 `rem` vuz45",fontsize=16,color="magenta"];861[label="primMinusNatS (Succ vuz690) (Succ vuz700)",fontsize=16,color="black",shape="box"];861 -> 882[label="",style="solid", color="black", weight=3]; 169.52/121.93 862[label="primMinusNatS (Succ vuz690) Zero",fontsize=16,color="black",shape="box"];862 -> 883[label="",style="solid", color="black", weight=3]; 169.52/121.93 863[label="primMinusNatS Zero (Succ vuz700)",fontsize=16,color="black",shape="box"];863 -> 884[label="",style="solid", color="black", weight=3]; 169.52/121.93 864[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];864 -> 885[label="",style="solid", color="black", weight=3]; 169.52/121.93 496[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)))",fontsize=16,color="black",shape="box"];496 -> 523[label="",style="solid", color="black", weight=3]; 169.52/121.93 497[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];497 -> 524[label="",style="solid", color="black", weight=3]; 169.52/121.93 498[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];498 -> 525[label="",style="solid", color="black", weight=3]; 169.52/121.93 499[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];499 -> 526[label="",style="solid", color="black", weight=3]; 169.52/121.93 572[label="absReal1 (Pos (Succ vuz2100)) (not (primCmpNat (Succ vuz2100) Zero == LT))",fontsize=16,color="black",shape="box"];572 -> 590[label="",style="solid", color="black", weight=3]; 169.52/121.93 573[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];573 -> 591[label="",style="solid", color="black", weight=3]; 169.52/121.93 574[label="absReal1 (Neg (Succ vuz2100)) (not (LT == LT))",fontsize=16,color="black",shape="box"];574 -> 592[label="",style="solid", color="black", weight=3]; 169.52/121.93 575[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];575 -> 593[label="",style="solid", color="black", weight=3]; 169.52/121.93 576[label="primRemInt (Pos vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1469[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];576 -> 1469[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1469 -> 594[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1470[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];576 -> 1470[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1470 -> 595[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 577[label="primRemInt (Pos vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1471[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];577 -> 1471[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1471 -> 596[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1472[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];577 -> 1472[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1472 -> 597[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 578[label="primRemInt (Neg vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1473[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];578 -> 1473[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1473 -> 598[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1474[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];578 -> 1474[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1474 -> 599[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 579[label="primRemInt (Neg vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1475[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];579 -> 1475[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1475 -> 600[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1476[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];579 -> 1476[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1476 -> 601[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 882 -> 828[label="",style="dashed", color="red", weight=0]; 169.52/121.93 882[label="primMinusNatS vuz690 vuz700",fontsize=16,color="magenta"];882 -> 948[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 882 -> 949[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 883[label="Succ vuz690",fontsize=16,color="green",shape="box"];884[label="Zero",fontsize=16,color="green",shape="box"];885[label="Zero",fontsize=16,color="green",shape="box"];523[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];523 -> 541[label="",style="solid", color="black", weight=3]; 169.52/121.93 524[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];524 -> 542[label="",style="solid", color="black", weight=3]; 169.52/121.93 525[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not True) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) (not True))",fontsize=16,color="black",shape="box"];525 -> 543[label="",style="solid", color="black", weight=3]; 169.52/121.93 526[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];526 -> 544[label="",style="solid", color="black", weight=3]; 169.52/121.93 590[label="absReal1 (Pos (Succ vuz2100)) (not (GT == LT))",fontsize=16,color="black",shape="box"];590 -> 613[label="",style="solid", color="black", weight=3]; 169.52/121.93 591[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];591 -> 614[label="",style="solid", color="black", weight=3]; 169.52/121.93 592[label="absReal1 (Neg (Succ vuz2100)) (not True)",fontsize=16,color="black",shape="box"];592 -> 615[label="",style="solid", color="black", weight=3]; 169.52/121.93 593[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];593 -> 616[label="",style="solid", color="black", weight=3]; 169.52/121.93 594[label="primRemInt (Pos vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];594 -> 617[label="",style="solid", color="black", weight=3]; 169.52/121.93 595[label="primRemInt (Pos vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];595 -> 618[label="",style="solid", color="black", weight=3]; 169.52/121.93 596[label="primRemInt (Pos vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];596 -> 619[label="",style="solid", color="black", weight=3]; 169.52/121.93 597[label="primRemInt (Pos vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];597 -> 620[label="",style="solid", color="black", weight=3]; 169.52/121.93 598[label="primRemInt (Neg vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];598 -> 621[label="",style="solid", color="black", weight=3]; 169.52/121.93 599[label="primRemInt (Neg vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];599 -> 622[label="",style="solid", color="black", weight=3]; 169.52/121.93 600[label="primRemInt (Neg vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];600 -> 623[label="",style="solid", color="black", weight=3]; 169.52/121.93 601[label="primRemInt (Neg vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];601 -> 624[label="",style="solid", color="black", weight=3]; 169.52/121.93 948[label="vuz700",fontsize=16,color="green",shape="box"];949[label="vuz690",fontsize=16,color="green",shape="box"];541[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not False) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not False))",fontsize=16,color="black",shape="box"];541 -> 561[label="",style="solid", color="black", weight=3]; 169.52/121.93 542[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];542 -> 562[label="",style="solid", color="black", weight=3]; 169.52/121.93 543[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) False == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) False)",fontsize=16,color="black",shape="box"];543 -> 563[label="",style="solid", color="black", weight=3]; 169.52/121.93 544[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];544 -> 564[label="",style="solid", color="black", weight=3]; 169.52/121.93 613[label="absReal1 (Pos (Succ vuz2100)) (not False)",fontsize=16,color="black",shape="box"];613 -> 634[label="",style="solid", color="black", weight=3]; 169.52/121.93 614[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];614 -> 635[label="",style="solid", color="black", weight=3]; 169.52/121.93 615[label="absReal1 (Neg (Succ vuz2100)) False",fontsize=16,color="black",shape="box"];615 -> 636[label="",style="solid", color="black", weight=3]; 169.52/121.93 616[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];616 -> 637[label="",style="solid", color="black", weight=3]; 169.52/121.93 617[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];617 -> 638[label="",style="dashed", color="green", weight=3]; 169.52/121.93 618 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 618[label="error []",fontsize=16,color="magenta"];619[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];619 -> 639[label="",style="dashed", color="green", weight=3]; 169.52/121.93 620 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 620[label="error []",fontsize=16,color="magenta"];621[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];621 -> 640[label="",style="dashed", color="green", weight=3]; 169.52/121.93 622 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 622[label="error []",fontsize=16,color="magenta"];623[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];623 -> 641[label="",style="dashed", color="green", weight=3]; 169.52/121.93 624 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 624[label="error []",fontsize=16,color="magenta"];561[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];561 -> 580[label="",style="solid", color="black", weight=3]; 169.52/121.93 562 -> 581[label="",style="dashed", color="red", weight=0]; 169.52/121.93 562[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos Zero) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="magenta"];562 -> 582[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 563[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) otherwise == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal0 (Integer (Neg (Succ vuz27000))) otherwise)",fontsize=16,color="black",shape="box"];563 -> 602[label="",style="solid", color="black", weight=3]; 169.52/121.93 564 -> 603[label="",style="dashed", color="red", weight=0]; 169.52/121.93 564[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Neg Zero) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="magenta"];564 -> 604[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 634[label="absReal1 (Pos (Succ vuz2100)) True",fontsize=16,color="black",shape="box"];634 -> 659[label="",style="solid", color="black", weight=3]; 169.52/121.93 635[label="Pos Zero",fontsize=16,color="green",shape="box"];636[label="absReal0 (Neg (Succ vuz2100)) otherwise",fontsize=16,color="black",shape="box"];636 -> 660[label="",style="solid", color="black", weight=3]; 169.52/121.93 637[label="Neg Zero",fontsize=16,color="green",shape="box"];638[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="burlywood",shape="triangle"];1477[label="vuz460/Succ vuz4600",fontsize=10,color="white",style="solid",shape="box"];638 -> 1477[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1477 -> 661[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1478[label="vuz460/Zero",fontsize=10,color="white",style="solid",shape="box"];638 -> 1478[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1478 -> 662[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 639 -> 638[label="",style="dashed", color="red", weight=0]; 169.52/121.93 639[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];639 -> 663[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 640 -> 638[label="",style="dashed", color="red", weight=0]; 169.52/121.93 640[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];640 -> 664[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 641 -> 638[label="",style="dashed", color="red", weight=0]; 169.52/121.93 641[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];641 -> 665[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 641 -> 666[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 580 -> 625[label="",style="dashed", color="red", weight=0]; 169.52/121.93 580[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="magenta"];580 -> 626[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 582 -> 138[label="",style="dashed", color="red", weight=0]; 169.52/121.93 582[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];582 -> 642[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 581[label="Integer vuz180 `quot` gcd0Gcd'1 vuz48 (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];1479[label="vuz48/False",fontsize=10,color="white",style="solid",shape="box"];581 -> 1479[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1479 -> 643[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1480[label="vuz48/True",fontsize=10,color="white",style="solid",shape="box"];581 -> 1480[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1480 -> 644[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 602[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal0 (Integer (Neg (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];602 -> 645[label="",style="solid", color="black", weight=3]; 169.52/121.93 604 -> 138[label="",style="dashed", color="red", weight=0]; 169.52/121.93 604[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];604 -> 646[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 603[label="Integer vuz180 `quot` gcd0Gcd'1 vuz49 (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];1481[label="vuz49/False",fontsize=10,color="white",style="solid",shape="box"];603 -> 1481[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1481 -> 647[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1482[label="vuz49/True",fontsize=10,color="white",style="solid",shape="box"];603 -> 1482[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1482 -> 648[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 659[label="Pos (Succ vuz2100)",fontsize=16,color="green",shape="box"];660[label="absReal0 (Neg (Succ vuz2100)) True",fontsize=16,color="black",shape="box"];660 -> 682[label="",style="solid", color="black", weight=3]; 169.52/121.93 661[label="primModNatS (Succ vuz4600) (Succ vuz4500)",fontsize=16,color="black",shape="box"];661 -> 683[label="",style="solid", color="black", weight=3]; 169.52/121.93 662[label="primModNatS Zero (Succ vuz4500)",fontsize=16,color="black",shape="box"];662 -> 684[label="",style="solid", color="black", weight=3]; 169.52/121.93 663[label="vuz4500",fontsize=16,color="green",shape="box"];664[label="vuz460",fontsize=16,color="green",shape="box"];665[label="vuz460",fontsize=16,color="green",shape="box"];666[label="vuz4500",fontsize=16,color="green",shape="box"];626 -> 138[label="",style="dashed", color="red", weight=0]; 169.52/121.93 626[label="Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];626 -> 649[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 625[label="Integer vuz180 `quot` gcd0Gcd'1 vuz50 (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="burlywood",shape="triangle"];1483[label="vuz50/False",fontsize=10,color="white",style="solid",shape="box"];625 -> 1483[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1483 -> 650[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1484[label="vuz50/True",fontsize=10,color="white",style="solid",shape="box"];625 -> 1484[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1484 -> 651[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 642[label="Pos Zero",fontsize=16,color="green",shape="box"];643[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];643 -> 667[label="",style="solid", color="black", weight=3]; 169.52/121.93 644[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];644 -> 668[label="",style="solid", color="black", weight=3]; 169.52/121.93 645[label="Integer vuz180 `quot` gcd0Gcd'1 (`negate` Integer (Neg (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (`negate` Integer (Neg (Succ vuz27000)))",fontsize=16,color="black",shape="box"];645 -> 669[label="",style="solid", color="black", weight=3]; 169.52/121.93 646[label="Neg Zero",fontsize=16,color="green",shape="box"];647[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];647 -> 670[label="",style="solid", color="black", weight=3]; 169.52/121.93 648[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];648 -> 671[label="",style="solid", color="black", weight=3]; 169.52/121.93 682[label="`negate` Neg (Succ vuz2100)",fontsize=16,color="black",shape="box"];682 -> 698[label="",style="solid", color="black", weight=3]; 169.52/121.93 683[label="primModNatS0 vuz4600 vuz4500 (primGEqNatS vuz4600 vuz4500)",fontsize=16,color="burlywood",shape="box"];1485[label="vuz4600/Succ vuz46000",fontsize=10,color="white",style="solid",shape="box"];683 -> 1485[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1485 -> 699[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1486[label="vuz4600/Zero",fontsize=10,color="white",style="solid",shape="box"];683 -> 1486[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1486 -> 700[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 684[label="Zero",fontsize=16,color="green",shape="box"];649[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];650[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="black",shape="box"];650 -> 672[label="",style="solid", color="black", weight=3]; 169.52/121.93 651[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="black",shape="box"];651 -> 673[label="",style="solid", color="black", weight=3]; 169.52/121.93 667 -> 794[label="",style="dashed", color="red", weight=0]; 169.52/121.93 667[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="magenta"];667 -> 795[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 668[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="black",shape="triangle"];668 -> 686[label="",style="solid", color="black", weight=3]; 169.52/121.93 669 -> 687[label="",style="dashed", color="red", weight=0]; 169.52/121.93 669[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="magenta"];669 -> 688[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 670 -> 794[label="",style="dashed", color="red", weight=0]; 169.52/121.93 670[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="magenta"];670 -> 796[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 671 -> 668[label="",style="dashed", color="red", weight=0]; 169.52/121.93 671[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="magenta"];698[label="primNegInt (Neg (Succ vuz2100))",fontsize=16,color="black",shape="triangle"];698 -> 715[label="",style="solid", color="black", weight=3]; 169.52/121.93 699[label="primModNatS0 (Succ vuz46000) vuz4500 (primGEqNatS (Succ vuz46000) vuz4500)",fontsize=16,color="burlywood",shape="box"];1487[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];699 -> 1487[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1487 -> 716[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1488[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1488[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1488 -> 717[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 700[label="primModNatS0 Zero vuz4500 (primGEqNatS Zero vuz4500)",fontsize=16,color="burlywood",shape="box"];1489[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];700 -> 1489[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1489 -> 718[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1490[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];700 -> 1490[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1490 -> 719[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 672 -> 794[label="",style="dashed", color="red", weight=0]; 169.52/121.93 672[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="magenta"];672 -> 797[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 673 -> 668[label="",style="dashed", color="red", weight=0]; 169.52/121.93 673[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="magenta"];795[label="Pos Zero",fontsize=16,color="green",shape="box"];794[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer vuz71)",fontsize=16,color="black",shape="triangle"];794 -> 800[label="",style="solid", color="black", weight=3]; 169.52/121.93 686[label="Integer vuz180 `quot` absReal (Integer vuz190)",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 169.52/121.93 688 -> 138[label="",style="dashed", color="red", weight=0]; 169.52/121.93 688[label="Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];688 -> 711[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 687[label="Integer vuz180 `quot` gcd0Gcd'1 vuz51 (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="burlywood",shape="triangle"];1491[label="vuz51/False",fontsize=10,color="white",style="solid",shape="box"];687 -> 1491[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1491 -> 712[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1492[label="vuz51/True",fontsize=10,color="white",style="solid",shape="box"];687 -> 1492[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1492 -> 713[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 796[label="Neg Zero",fontsize=16,color="green",shape="box"];715[label="Pos (Succ vuz2100)",fontsize=16,color="green",shape="box"];716[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS (Succ vuz46000) (Succ vuz45000))",fontsize=16,color="black",shape="box"];716 -> 732[label="",style="solid", color="black", weight=3]; 169.52/121.93 717[label="primModNatS0 (Succ vuz46000) Zero (primGEqNatS (Succ vuz46000) Zero)",fontsize=16,color="black",shape="box"];717 -> 733[label="",style="solid", color="black", weight=3]; 169.52/121.93 718[label="primModNatS0 Zero (Succ vuz45000) (primGEqNatS Zero (Succ vuz45000))",fontsize=16,color="black",shape="box"];718 -> 734[label="",style="solid", color="black", weight=3]; 169.52/121.93 719[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];719 -> 735[label="",style="solid", color="black", weight=3]; 169.52/121.93 797[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];800[label="Integer vuz180 `quot` gcd0Gcd' (Integer vuz71) (abs (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];800 -> 817[label="",style="solid", color="black", weight=3]; 169.52/121.93 710[label="Integer vuz180 `quot` absReal2 (Integer vuz190)",fontsize=16,color="black",shape="box"];710 -> 728[label="",style="solid", color="black", weight=3]; 169.52/121.93 711 -> 698[label="",style="dashed", color="red", weight=0]; 169.52/121.93 711[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];711 -> 729[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 712[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="black",shape="box"];712 -> 730[label="",style="solid", color="black", weight=3]; 169.52/121.93 713[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="black",shape="box"];713 -> 731[label="",style="solid", color="black", weight=3]; 169.52/121.93 732 -> 1275[label="",style="dashed", color="red", weight=0]; 169.52/121.93 732[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS vuz46000 vuz45000)",fontsize=16,color="magenta"];732 -> 1276[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 732 -> 1277[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 732 -> 1278[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 732 -> 1279[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 733[label="primModNatS0 (Succ vuz46000) Zero True",fontsize=16,color="black",shape="box"];733 -> 753[label="",style="solid", color="black", weight=3]; 169.52/121.93 734[label="primModNatS0 Zero (Succ vuz45000) False",fontsize=16,color="black",shape="box"];734 -> 754[label="",style="solid", color="black", weight=3]; 169.52/121.93 735[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];735 -> 755[label="",style="solid", color="black", weight=3]; 169.52/121.93 817[label="Integer vuz180 `quot` gcd0Gcd'2 (Integer vuz71) (abs (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];817 -> 829[label="",style="solid", color="black", weight=3]; 169.52/121.93 728[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (Integer vuz190 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];728 -> 793[label="",style="solid", color="black", weight=3]; 169.52/121.93 729[label="vuz27000",fontsize=16,color="green",shape="box"];730 -> 794[label="",style="dashed", color="red", weight=0]; 169.52/121.93 730[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="magenta"];730 -> 798[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 731 -> 668[label="",style="dashed", color="red", weight=0]; 169.52/121.93 731[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="magenta"];1276[label="vuz45000",fontsize=16,color="green",shape="box"];1277[label="vuz46000",fontsize=16,color="green",shape="box"];1278[label="vuz45000",fontsize=16,color="green",shape="box"];1279[label="vuz46000",fontsize=16,color="green",shape="box"];1275[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS vuz105 vuz106)",fontsize=16,color="burlywood",shape="triangle"];1493[label="vuz105/Succ vuz1050",fontsize=10,color="white",style="solid",shape="box"];1275 -> 1493[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1493 -> 1316[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1494[label="vuz105/Zero",fontsize=10,color="white",style="solid",shape="box"];1275 -> 1494[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1494 -> 1317[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 753 -> 638[label="",style="dashed", color="red", weight=0]; 169.52/121.93 753[label="primModNatS (primMinusNatS (Succ vuz46000) Zero) (Succ Zero)",fontsize=16,color="magenta"];753 -> 805[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 753 -> 806[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 754[label="Succ Zero",fontsize=16,color="green",shape="box"];755 -> 638[label="",style="dashed", color="red", weight=0]; 169.52/121.93 755[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];755 -> 807[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 755 -> 808[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 829[label="Integer vuz180 `quot` gcd0Gcd'1 (abs (Integer vuz190) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (abs (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];829 -> 846[label="",style="solid", color="black", weight=3]; 169.52/121.93 793[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (compare (Integer vuz190) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];793 -> 813[label="",style="solid", color="black", weight=3]; 169.52/121.93 798 -> 698[label="",style="dashed", color="red", weight=0]; 169.52/121.93 798[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];798 -> 814[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1316[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS (Succ vuz1050) vuz106)",fontsize=16,color="burlywood",shape="box"];1495[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1316 -> 1495[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1495 -> 1318[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1496[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1316 -> 1496[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1496 -> 1319[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1317[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS Zero vuz106)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1317 -> 1497[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1497 -> 1320[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1498[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1317 -> 1498[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1498 -> 1321[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 805 -> 466[label="",style="dashed", color="red", weight=0]; 169.52/121.93 805[label="primMinusNatS (Succ vuz46000) Zero",fontsize=16,color="magenta"];805 -> 822[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 806[label="Zero",fontsize=16,color="green",shape="box"];807 -> 468[label="",style="dashed", color="red", weight=0]; 169.52/121.93 807[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];808[label="Zero",fontsize=16,color="green",shape="box"];846[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal (Integer vuz190) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];846 -> 865[label="",style="solid", color="black", weight=3]; 169.52/121.93 813[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (not (compare (Integer vuz190) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];813 -> 827[label="",style="solid", color="black", weight=3]; 169.52/121.93 814[label="vuz27000",fontsize=16,color="green",shape="box"];1318[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS (Succ vuz1050) (Succ vuz1060))",fontsize=16,color="black",shape="box"];1318 -> 1322[label="",style="solid", color="black", weight=3]; 169.52/121.93 1319[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS (Succ vuz1050) Zero)",fontsize=16,color="black",shape="box"];1319 -> 1323[label="",style="solid", color="black", weight=3]; 169.52/121.93 1320[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS Zero (Succ vuz1060))",fontsize=16,color="black",shape="box"];1320 -> 1324[label="",style="solid", color="black", weight=3]; 169.52/121.93 1321[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1321 -> 1325[label="",style="solid", color="black", weight=3]; 169.52/121.93 822[label="vuz46000",fontsize=16,color="green",shape="box"];865[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal2 (Integer vuz190) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal2 (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];865 -> 886[label="",style="solid", color="black", weight=3]; 169.52/121.93 827[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (not (compare (Integer vuz190) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];827 -> 843[label="",style="solid", color="black", weight=3]; 169.52/121.93 1322 -> 1275[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1322[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS vuz1050 vuz1060)",fontsize=16,color="magenta"];1322 -> 1326[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1322 -> 1327[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1323[label="primModNatS0 (Succ vuz103) (Succ vuz104) True",fontsize=16,color="black",shape="triangle"];1323 -> 1328[label="",style="solid", color="black", weight=3]; 169.52/121.93 1324[label="primModNatS0 (Succ vuz103) (Succ vuz104) False",fontsize=16,color="black",shape="box"];1324 -> 1329[label="",style="solid", color="black", weight=3]; 169.52/121.93 1325 -> 1323[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1325[label="primModNatS0 (Succ vuz103) (Succ vuz104) True",fontsize=16,color="magenta"];886[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (Integer vuz190 >= fromInt (Pos Zero)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (Integer vuz190 >= fromInt (Pos Zero)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];886 -> 935[label="",style="solid", color="black", weight=3]; 169.52/121.93 843[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (not (primCmpInt vuz190 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1499[label="vuz190/Pos vuz1900",fontsize=10,color="white",style="solid",shape="box"];843 -> 1499[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1499 -> 859[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1500[label="vuz190/Neg vuz1900",fontsize=10,color="white",style="solid",shape="box"];843 -> 1500[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1500 -> 860[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1326[label="vuz1050",fontsize=16,color="green",shape="box"];1327[label="vuz1060",fontsize=16,color="green",shape="box"];1328 -> 638[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1328[label="primModNatS (primMinusNatS (Succ vuz103) (Succ vuz104)) (Succ (Succ vuz104))",fontsize=16,color="magenta"];1328 -> 1330[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1328 -> 1331[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1329[label="Succ (Succ vuz103)",fontsize=16,color="green",shape="box"];935[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (compare (Integer vuz190) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (compare (Integer vuz190) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];935 -> 954[label="",style="solid", color="black", weight=3]; 169.52/121.93 859[label="Integer vuz180 `quot` absReal1 (Integer (Pos vuz1900)) (not (primCmpInt (Pos vuz1900) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1501[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];859 -> 1501[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1501 -> 878[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1502[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];859 -> 1502[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1502 -> 879[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 860[label="Integer vuz180 `quot` absReal1 (Integer (Neg vuz1900)) (not (primCmpInt (Neg vuz1900) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1503[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];860 -> 1503[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1503 -> 880[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1504[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];860 -> 1504[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1504 -> 881[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1330 -> 828[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1330[label="primMinusNatS (Succ vuz103) (Succ vuz104)",fontsize=16,color="magenta"];1330 -> 1332[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1330 -> 1333[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1331[label="Succ vuz104",fontsize=16,color="green",shape="box"];954[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];954 -> 971[label="",style="solid", color="black", weight=3]; 169.52/121.93 878[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpInt (Pos (Succ vuz19000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];878 -> 936[label="",style="solid", color="black", weight=3]; 169.52/121.93 879[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];879 -> 937[label="",style="solid", color="black", weight=3]; 169.52/121.93 880[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) (not (primCmpInt (Neg (Succ vuz19000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];880 -> 938[label="",style="solid", color="black", weight=3]; 169.52/121.93 881[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];881 -> 939[label="",style="solid", color="black", weight=3]; 169.52/121.93 1332[label="Succ vuz104",fontsize=16,color="green",shape="box"];1333[label="Succ vuz103",fontsize=16,color="green",shape="box"];971[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (Integer (Pos Zero)) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (Integer (Pos Zero)) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];971 -> 985[label="",style="solid", color="black", weight=3]; 169.52/121.93 936[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpNat (Succ vuz19000) Zero == LT))",fontsize=16,color="black",shape="box"];936 -> 955[label="",style="solid", color="black", weight=3]; 169.52/121.93 937[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];937 -> 956[label="",style="solid", color="black", weight=3]; 169.52/121.93 938[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];938 -> 957[label="",style="solid", color="black", weight=3]; 169.52/121.93 939[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];939 -> 958[label="",style="solid", color="black", weight=3]; 169.52/121.93 985[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (not (primCmpInt vuz190 (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (not (primCmpInt vuz190 (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="burlywood",shape="box"];1505[label="vuz190/Pos vuz1900",fontsize=10,color="white",style="solid",shape="box"];985 -> 1505[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1505 -> 999[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1506[label="vuz190/Neg vuz1900",fontsize=10,color="white",style="solid",shape="box"];985 -> 1506[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1506 -> 1000[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 955[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];955 -> 972[label="",style="solid", color="black", weight=3]; 169.52/121.93 956[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];956 -> 973[label="",style="solid", color="black", weight=3]; 169.52/121.93 957[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) (not True)",fontsize=16,color="black",shape="box"];957 -> 974[label="",style="solid", color="black", weight=3]; 169.52/121.93 958[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];958 -> 975[label="",style="solid", color="black", weight=3]; 169.52/121.93 999[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz1900)) (not (primCmpInt (Pos vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos vuz1900)) (not (primCmpInt (Pos vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="burlywood",shape="box"];1507[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];999 -> 1507[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1507 -> 1015[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1508[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];999 -> 1508[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1508 -> 1016[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1000[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz1900)) (not (primCmpInt (Neg vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg vuz1900)) (not (primCmpInt (Neg vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="burlywood",shape="box"];1509[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1509[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1509 -> 1017[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1510[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1510[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1510 -> 1018[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 972[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not False)",fontsize=16,color="black",shape="box"];972 -> 986[label="",style="solid", color="black", weight=3]; 169.52/121.93 973[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];973 -> 987[label="",style="solid", color="black", weight=3]; 169.52/121.93 974[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) False",fontsize=16,color="black",shape="box"];974 -> 988[label="",style="solid", color="black", weight=3]; 169.52/121.93 975[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];975 -> 989[label="",style="solid", color="black", weight=3]; 169.52/121.93 1015[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpInt (Pos (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpInt (Pos (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1015 -> 1030[label="",style="solid", color="black", weight=3]; 169.52/121.93 1016[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1016 -> 1031[label="",style="solid", color="black", weight=3]; 169.52/121.93 1017[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) (not (primCmpInt (Neg (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) (not (primCmpInt (Neg (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1017 -> 1032[label="",style="solid", color="black", weight=3]; 169.52/121.93 1018[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1018 -> 1033[label="",style="solid", color="black", weight=3]; 169.52/121.93 986[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) True",fontsize=16,color="black",shape="box"];986 -> 1001[label="",style="solid", color="black", weight=3]; 169.52/121.93 987 -> 1056[label="",style="dashed", color="red", weight=0]; 169.52/121.93 987[label="Integer vuz180 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];987 -> 1057[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 988[label="Integer vuz180 `quot` absReal0 (Integer (Neg (Succ vuz19000))) otherwise",fontsize=16,color="black",shape="box"];988 -> 1003[label="",style="solid", color="black", weight=3]; 169.52/121.93 989 -> 1056[label="",style="dashed", color="red", weight=0]; 169.52/121.93 989[label="Integer vuz180 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];989 -> 1058[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1030[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpNat (Succ vuz19000) Zero == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpNat (Succ vuz19000) Zero == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1030 -> 1048[label="",style="solid", color="black", weight=3]; 169.52/121.93 1031[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1031 -> 1049[label="",style="solid", color="black", weight=3]; 169.52/121.93 1032[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) (not (LT == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) (not (LT == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1032 -> 1050[label="",style="solid", color="black", weight=3]; 169.52/121.93 1033[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1033 -> 1051[label="",style="solid", color="black", weight=3]; 169.52/121.93 1001 -> 1056[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1001[label="Integer vuz180 `quot` Integer (Pos (Succ vuz19000))",fontsize=16,color="magenta"];1001 -> 1059[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1057[label="Pos Zero",fontsize=16,color="green",shape="box"];1056[label="Integer vuz180 `quot` Integer vuz77",fontsize=16,color="black",shape="triangle"];1056 -> 1061[label="",style="solid", color="black", weight=3]; 169.52/121.93 1003[label="Integer vuz180 `quot` absReal0 (Integer (Neg (Succ vuz19000))) True",fontsize=16,color="black",shape="box"];1003 -> 1021[label="",style="solid", color="black", weight=3]; 169.52/121.93 1058[label="Neg Zero",fontsize=16,color="green",shape="box"];1048[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not (GT == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not (GT == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1048 -> 1062[label="",style="solid", color="black", weight=3]; 169.52/121.93 1049[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1049 -> 1063[label="",style="solid", color="black", weight=3]; 169.52/121.93 1050[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) (not True) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) (not True) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1050 -> 1064[label="",style="solid", color="black", weight=3]; 169.52/121.93 1051[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1051 -> 1065[label="",style="solid", color="black", weight=3]; 169.52/121.93 1059[label="Pos (Succ vuz19000)",fontsize=16,color="green",shape="box"];1061[label="Integer (primQuotInt vuz180 vuz77)",fontsize=16,color="green",shape="box"];1061 -> 1075[label="",style="dashed", color="green", weight=3]; 169.52/121.93 1021[label="Integer vuz180 `quot` (`negate` Integer (Neg (Succ vuz19000)))",fontsize=16,color="black",shape="box"];1021 -> 1037[label="",style="solid", color="black", weight=3]; 169.52/121.93 1062[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not False) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not False) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1062 -> 1076[label="",style="solid", color="black", weight=3]; 169.52/121.93 1063[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1063 -> 1077[label="",style="solid", color="black", weight=3]; 169.52/121.93 1064[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) False `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) False `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1064 -> 1078[label="",style="solid", color="black", weight=3]; 169.52/121.93 1065[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1065 -> 1079[label="",style="solid", color="black", weight=3]; 169.52/121.93 1075[label="primQuotInt vuz180 vuz77",fontsize=16,color="burlywood",shape="box"];1511[label="vuz180/Pos vuz1800",fontsize=10,color="white",style="solid",shape="box"];1075 -> 1511[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1511 -> 1085[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1512[label="vuz180/Neg vuz1800",fontsize=10,color="white",style="solid",shape="box"];1075 -> 1512[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1512 -> 1086[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1037 -> 1056[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1037[label="Integer vuz180 `quot` Integer (primNegInt (Neg (Succ vuz19000)))",fontsize=16,color="magenta"];1037 -> 1060[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1076[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1076 -> 1087[label="",style="solid", color="black", weight=3]; 169.52/121.93 1077 -> 1154[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1077[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (Pos Zero) `rem` Integer vuz71)",fontsize=16,color="magenta"];1077 -> 1155[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1077 -> 1156[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1078[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz19000))) otherwise `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal0 (Integer (Neg (Succ vuz19000))) otherwise `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1078 -> 1089[label="",style="solid", color="black", weight=3]; 169.52/121.93 1079 -> 1154[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1079[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (Neg Zero) `rem` Integer vuz71)",fontsize=16,color="magenta"];1079 -> 1157[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1079 -> 1158[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1085[label="primQuotInt (Pos vuz1800) vuz77",fontsize=16,color="burlywood",shape="box"];1513[label="vuz77/Pos vuz770",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1513[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1513 -> 1093[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1514[label="vuz77/Neg vuz770",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1514[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1514 -> 1094[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1086[label="primQuotInt (Neg vuz1800) vuz77",fontsize=16,color="burlywood",shape="box"];1515[label="vuz77/Pos vuz770",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1515[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1515 -> 1095[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1516[label="vuz77/Neg vuz770",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1516[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1516 -> 1096[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1060 -> 698[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1060[label="primNegInt (Neg (Succ vuz19000))",fontsize=16,color="magenta"];1060 -> 1074[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1087 -> 1154[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1087[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz19000)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (Pos (Succ vuz19000)) `rem` Integer vuz71)",fontsize=16,color="magenta"];1087 -> 1159[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1087 -> 1160[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1155[label="Pos Zero",fontsize=16,color="green",shape="box"];1156[label="Pos Zero",fontsize=16,color="green",shape="box"];1154[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer vuz86 `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer vuz85 `rem` Integer vuz71)",fontsize=16,color="black",shape="triangle"];1154 -> 1163[label="",style="solid", color="black", weight=3]; 169.52/121.93 1089[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz19000))) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal0 (Integer (Neg (Succ vuz19000))) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1089 -> 1105[label="",style="solid", color="black", weight=3]; 169.52/121.93 1157[label="Neg Zero",fontsize=16,color="green",shape="box"];1158[label="Neg Zero",fontsize=16,color="green",shape="box"];1093[label="primQuotInt (Pos vuz1800) (Pos vuz770)",fontsize=16,color="burlywood",shape="box"];1517[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1093 -> 1517[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1517 -> 1106[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1518[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1093 -> 1518[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1518 -> 1107[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1094[label="primQuotInt (Pos vuz1800) (Neg vuz770)",fontsize=16,color="burlywood",shape="box"];1519[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1094 -> 1519[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1519 -> 1108[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1520[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1094 -> 1520[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1520 -> 1109[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1095[label="primQuotInt (Neg vuz1800) (Pos vuz770)",fontsize=16,color="burlywood",shape="box"];1521[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1095 -> 1521[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1521 -> 1110[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1522[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1095 -> 1522[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1522 -> 1111[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1096[label="primQuotInt (Neg vuz1800) (Neg vuz770)",fontsize=16,color="burlywood",shape="box"];1523[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1096 -> 1523[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1523 -> 1112[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1524[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1096 -> 1524[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1524 -> 1113[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1074[label="vuz19000",fontsize=16,color="green",shape="box"];1159[label="Pos (Succ vuz19000)",fontsize=16,color="green",shape="box"];1160[label="Pos (Succ vuz19000)",fontsize=16,color="green",shape="box"];1163 -> 1173[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1163[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (primRemInt vuz86 vuz71) == fromInt (Pos Zero)) (Integer vuz71) (Integer (primRemInt vuz86 vuz71))",fontsize=16,color="magenta"];1163 -> 1174[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1163 -> 1175[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1105[label="Integer vuz180 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz19000))) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) ((`negate` Integer (Neg (Succ vuz19000))) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1105 -> 1131[label="",style="solid", color="black", weight=3]; 169.52/121.93 1106[label="primQuotInt (Pos vuz1800) (Pos (Succ vuz7700))",fontsize=16,color="black",shape="box"];1106 -> 1132[label="",style="solid", color="black", weight=3]; 169.52/121.93 1107[label="primQuotInt (Pos vuz1800) (Pos Zero)",fontsize=16,color="black",shape="box"];1107 -> 1133[label="",style="solid", color="black", weight=3]; 169.52/121.93 1108[label="primQuotInt (Pos vuz1800) (Neg (Succ vuz7700))",fontsize=16,color="black",shape="box"];1108 -> 1134[label="",style="solid", color="black", weight=3]; 169.52/121.93 1109[label="primQuotInt (Pos vuz1800) (Neg Zero)",fontsize=16,color="black",shape="box"];1109 -> 1135[label="",style="solid", color="black", weight=3]; 169.52/121.93 1110[label="primQuotInt (Neg vuz1800) (Pos (Succ vuz7700))",fontsize=16,color="black",shape="box"];1110 -> 1136[label="",style="solid", color="black", weight=3]; 169.52/121.93 1111[label="primQuotInt (Neg vuz1800) (Pos Zero)",fontsize=16,color="black",shape="box"];1111 -> 1137[label="",style="solid", color="black", weight=3]; 169.52/121.93 1112[label="primQuotInt (Neg vuz1800) (Neg (Succ vuz7700))",fontsize=16,color="black",shape="box"];1112 -> 1138[label="",style="solid", color="black", weight=3]; 169.52/121.93 1113[label="primQuotInt (Neg vuz1800) (Neg Zero)",fontsize=16,color="black",shape="box"];1113 -> 1139[label="",style="solid", color="black", weight=3]; 169.52/121.93 1174 -> 138[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1174[label="Integer (primRemInt vuz86 vuz71) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1174 -> 1176[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1175 -> 538[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1175[label="primRemInt vuz86 vuz71",fontsize=16,color="magenta"];1175 -> 1177[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1175 -> 1178[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1173[label="Integer vuz180 `quot` gcd0Gcd'1 vuz89 (Integer vuz71) (Integer vuz90)",fontsize=16,color="burlywood",shape="triangle"];1525[label="vuz89/False",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1525[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1525 -> 1179[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1526[label="vuz89/True",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1526[label="",style="solid", color="burlywood", weight=9]; 169.52/121.93 1526 -> 1180[label="",style="solid", color="burlywood", weight=3]; 169.52/121.93 1131 -> 1154[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1131[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz19000))) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (primNegInt (Neg (Succ vuz19000))) `rem` Integer vuz71)",fontsize=16,color="magenta"];1131 -> 1161[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1131 -> 1162[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1132[label="Pos (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1132 -> 1164[label="",style="dashed", color="green", weight=3]; 169.52/121.93 1133 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1133[label="error []",fontsize=16,color="magenta"];1134[label="Neg (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1134 -> 1165[label="",style="dashed", color="green", weight=3]; 169.52/121.93 1135 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1135[label="error []",fontsize=16,color="magenta"];1136[label="Neg (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1136 -> 1166[label="",style="dashed", color="green", weight=3]; 169.52/121.93 1137 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1137[label="error []",fontsize=16,color="magenta"];1138[label="Pos (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1138 -> 1167[label="",style="dashed", color="green", weight=3]; 169.52/121.93 1139 -> 384[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1139[label="error []",fontsize=16,color="magenta"];1176 -> 538[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1176[label="primRemInt vuz86 vuz71",fontsize=16,color="magenta"];1176 -> 1228[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1176 -> 1229[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1177[label="vuz86",fontsize=16,color="green",shape="box"];1178[label="vuz71",fontsize=16,color="green",shape="box"];1179[label="Integer vuz180 `quot` gcd0Gcd'1 False (Integer vuz71) (Integer vuz90)",fontsize=16,color="black",shape="box"];1179 -> 1230[label="",style="solid", color="black", weight=3]; 169.52/121.93 1180[label="Integer vuz180 `quot` gcd0Gcd'1 True (Integer vuz71) (Integer vuz90)",fontsize=16,color="black",shape="box"];1180 -> 1231[label="",style="solid", color="black", weight=3]; 169.52/121.93 1161 -> 698[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1161[label="primNegInt (Neg (Succ vuz19000))",fontsize=16,color="magenta"];1161 -> 1184[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1162 -> 698[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1162[label="primNegInt (Neg (Succ vuz19000))",fontsize=16,color="magenta"];1162 -> 1185[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1164 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1164[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1164 -> 1186[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1164 -> 1187[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1165 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1165[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1165 -> 1188[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1165 -> 1189[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1166 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1166[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1166 -> 1190[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1166 -> 1191[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1167 -> 397[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1167[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1167 -> 1192[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1167 -> 1193[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1228[label="vuz86",fontsize=16,color="green",shape="box"];1229[label="vuz71",fontsize=16,color="green",shape="box"];1230[label="Integer vuz180 `quot` gcd0Gcd'0 (Integer vuz71) (Integer vuz90)",fontsize=16,color="black",shape="box"];1230 -> 1238[label="",style="solid", color="black", weight=3]; 169.52/121.93 1231 -> 1056[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1231[label="Integer vuz180 `quot` Integer vuz71",fontsize=16,color="magenta"];1231 -> 1239[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1184[label="vuz19000",fontsize=16,color="green",shape="box"];1185[label="vuz19000",fontsize=16,color="green",shape="box"];1186[label="vuz1800",fontsize=16,color="green",shape="box"];1187[label="vuz7700",fontsize=16,color="green",shape="box"];1188[label="vuz1800",fontsize=16,color="green",shape="box"];1189[label="vuz7700",fontsize=16,color="green",shape="box"];1190[label="vuz1800",fontsize=16,color="green",shape="box"];1191[label="vuz7700",fontsize=16,color="green",shape="box"];1192[label="vuz1800",fontsize=16,color="green",shape="box"];1193[label="vuz7700",fontsize=16,color="green",shape="box"];1238[label="Integer vuz180 `quot` gcd0Gcd' (Integer vuz90) (Integer vuz71 `rem` Integer vuz90)",fontsize=16,color="black",shape="box"];1238 -> 1249[label="",style="solid", color="black", weight=3]; 169.52/121.93 1239[label="vuz71",fontsize=16,color="green",shape="box"];1249[label="Integer vuz180 `quot` gcd0Gcd'2 (Integer vuz90) (Integer vuz71 `rem` Integer vuz90)",fontsize=16,color="black",shape="box"];1249 -> 1257[label="",style="solid", color="black", weight=3]; 169.52/121.93 1257 -> 1154[label="",style="dashed", color="red", weight=0]; 169.52/121.93 1257[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer vuz71 `rem` Integer vuz90 == fromInt (Pos Zero)) (Integer vuz90) (Integer vuz71 `rem` Integer vuz90)",fontsize=16,color="magenta"];1257 -> 1262[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1257 -> 1263[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1257 -> 1264[label="",style="dashed", color="magenta", weight=3]; 169.52/121.93 1262[label="vuz71",fontsize=16,color="green",shape="box"];1263[label="vuz71",fontsize=16,color="green",shape="box"];1264[label="vuz90",fontsize=16,color="green",shape="box"];} 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (12) 169.52/121.93 Complex Obligation (AND) 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (13) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primModNatS(Succ(Succ(vuz46000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz46000), Zero) 169.52/121.93 new_primModNatS(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS0(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.93 new_primModNatS(Succ(Zero), Zero) -> new_primModNatS(new_primMinusNatS1, Zero) 169.52/121.93 new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.93 new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS0(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.93 new_primModNatS0(vuz103, vuz104, Zero, Zero) -> new_primModNatS00(vuz103, vuz104) 169.52/121.93 new_primModNatS00(vuz103, vuz104) -> new_primModNatS(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (14) DependencyGraphProof (EQUIVALENT) 169.52/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (15) 169.52/121.93 Complex Obligation (AND) 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (16) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.93 new_primModNatS(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS0(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.93 new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS0(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.93 new_primModNatS0(vuz103, vuz104, Zero, Zero) -> new_primModNatS00(vuz103, vuz104) 169.52/121.93 new_primModNatS00(vuz103, vuz104) -> new_primModNatS(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (17) QDPOrderProof (EQUIVALENT) 169.52/121.93 We use the reduction pair processor [LPAR04,JAR06]. 169.52/121.93 169.52/121.93 169.52/121.93 The following pairs can be oriented strictly and are deleted. 169.52/121.93 169.52/121.93 new_primModNatS(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS0(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.93 The remaining pairs can at least be oriented weakly. 169.52/121.93 Used ordering: Polynomial interpretation [POLO]: 169.52/121.93 169.52/121.93 POL(Succ(x_1)) = 1 + x_1 169.52/121.93 POL(Zero) = 1 169.52/121.93 POL(new_primMinusNatS2(x_1, x_2)) = x_1 169.52/121.93 POL(new_primModNatS(x_1, x_2)) = x_1 169.52/121.93 POL(new_primModNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 169.52/121.93 POL(new_primModNatS00(x_1, x_2)) = 1 + x_1 169.52/121.93 169.52/121.93 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (18) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.93 new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS0(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.93 new_primModNatS0(vuz103, vuz104, Zero, Zero) -> new_primModNatS00(vuz103, vuz104) 169.52/121.93 new_primModNatS00(vuz103, vuz104) -> new_primModNatS(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (19) DependencyGraphProof (EQUIVALENT) 169.52/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (20) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS0(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (21) QDPSizeChangeProof (EQUIVALENT) 169.52/121.93 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. 169.52/121.93 169.52/121.93 From the DPs we obtained the following set of size-change graphs: 169.52/121.93 *new_primModNatS0(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS0(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.93 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 169.52/121.93 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (22) 169.52/121.93 YES 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (23) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primModNatS(Succ(Succ(vuz46000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz46000), Zero) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (24) MRRProof (EQUIVALENT) 169.52/121.93 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. 169.52/121.93 169.52/121.93 Strictly oriented dependency pairs: 169.52/121.93 169.52/121.93 new_primModNatS(Succ(Succ(vuz46000)), Zero) -> new_primModNatS(new_primMinusNatS0(vuz46000), Zero) 169.52/121.93 169.52/121.93 Strictly oriented rules of the TRS R: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 169.52/121.93 Used ordering: Polynomial interpretation [POLO]: 169.52/121.93 169.52/121.93 POL(Succ(x_1)) = 1 + x_1 169.52/121.93 POL(Zero) = 2 169.52/121.93 POL(new_primMinusNatS0(x_1)) = 1 + x_1 169.52/121.93 POL(new_primMinusNatS1) = 2 169.52/121.93 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 169.52/121.93 POL(new_primModNatS(x_1, x_2)) = x_1 + x_2 169.52/121.93 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (25) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 P is empty. 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (26) PisEmptyProof (EQUIVALENT) 169.52/121.93 The TRS P is empty. Hence, there is no (P,Q,R) chain. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (27) 169.52/121.93 YES 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (28) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primDivNatS(Succ(Succ(vuz20000)), Succ(vuz38000)) -> new_primDivNatS0(vuz20000, vuz38000, vuz20000, vuz38000) 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Zero, Zero) -> new_primDivNatS00(vuz73, vuz74) 169.52/121.93 new_primDivNatS(Succ(Succ(vuz20000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz20000), Zero) 169.52/121.93 new_primDivNatS00(vuz73, vuz74) -> new_primDivNatS(new_primMinusNatS2(Succ(vuz73), Succ(vuz74)), Succ(vuz74)) 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Succ(vuz760)) -> new_primDivNatS0(vuz73, vuz74, vuz750, vuz760) 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Zero) -> new_primDivNatS(new_primMinusNatS2(Succ(vuz73), Succ(vuz74)), Succ(vuz74)) 169.52/121.93 new_primDivNatS(Succ(Zero), Zero) -> new_primDivNatS(new_primMinusNatS1, Zero) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (29) DependencyGraphProof (EQUIVALENT) 169.52/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (30) 169.52/121.93 Complex Obligation (AND) 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (31) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primDivNatS(Succ(Succ(vuz20000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz20000), Zero) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (32) MRRProof (EQUIVALENT) 169.52/121.93 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. 169.52/121.93 169.52/121.93 Strictly oriented dependency pairs: 169.52/121.93 169.52/121.93 new_primDivNatS(Succ(Succ(vuz20000)), Zero) -> new_primDivNatS(new_primMinusNatS0(vuz20000), Zero) 169.52/121.93 169.52/121.93 Strictly oriented rules of the TRS R: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 169.52/121.93 Used ordering: Polynomial interpretation [POLO]: 169.52/121.93 169.52/121.93 POL(Succ(x_1)) = 1 + x_1 169.52/121.93 POL(Zero) = 2 169.52/121.93 POL(new_primDivNatS(x_1, x_2)) = x_1 + x_2 169.52/121.93 POL(new_primMinusNatS0(x_1)) = 1 + x_1 169.52/121.93 POL(new_primMinusNatS1) = 2 169.52/121.93 POL(new_primMinusNatS2(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 169.52/121.93 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (33) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 P is empty. 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (34) PisEmptyProof (EQUIVALENT) 169.52/121.93 The TRS P is empty. Hence, there is no (P,Q,R) chain. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (35) 169.52/121.93 YES 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (36) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Zero, Zero) -> new_primDivNatS00(vuz73, vuz74) 169.52/121.93 new_primDivNatS00(vuz73, vuz74) -> new_primDivNatS(new_primMinusNatS2(Succ(vuz73), Succ(vuz74)), Succ(vuz74)) 169.52/121.93 new_primDivNatS(Succ(Succ(vuz20000)), Succ(vuz38000)) -> new_primDivNatS0(vuz20000, vuz38000, vuz20000, vuz38000) 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Succ(vuz760)) -> new_primDivNatS0(vuz73, vuz74, vuz750, vuz760) 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Zero) -> new_primDivNatS(new_primMinusNatS2(Succ(vuz73), Succ(vuz74)), Succ(vuz74)) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (37) QDPOrderProof (EQUIVALENT) 169.52/121.93 We use the reduction pair processor [LPAR04,JAR06]. 169.52/121.93 169.52/121.93 169.52/121.93 The following pairs can be oriented strictly and are deleted. 169.52/121.93 169.52/121.93 new_primDivNatS(Succ(Succ(vuz20000)), Succ(vuz38000)) -> new_primDivNatS0(vuz20000, vuz38000, vuz20000, vuz38000) 169.52/121.93 The remaining pairs can at least be oriented weakly. 169.52/121.93 Used ordering: Polynomial interpretation [POLO]: 169.52/121.93 169.52/121.93 POL(Succ(x_1)) = 1 + x_1 169.52/121.93 POL(Zero) = 1 169.52/121.93 POL(new_primDivNatS(x_1, x_2)) = x_1 169.52/121.93 POL(new_primDivNatS0(x_1, x_2, x_3, x_4)) = 1 + x_1 169.52/121.93 POL(new_primDivNatS00(x_1, x_2)) = 1 + x_1 169.52/121.93 POL(new_primMinusNatS2(x_1, x_2)) = x_1 169.52/121.93 169.52/121.93 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 169.52/121.93 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (38) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Zero, Zero) -> new_primDivNatS00(vuz73, vuz74) 169.52/121.93 new_primDivNatS00(vuz73, vuz74) -> new_primDivNatS(new_primMinusNatS2(Succ(vuz73), Succ(vuz74)), Succ(vuz74)) 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Succ(vuz760)) -> new_primDivNatS0(vuz73, vuz74, vuz750, vuz760) 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Zero) -> new_primDivNatS(new_primMinusNatS2(Succ(vuz73), Succ(vuz74)), Succ(vuz74)) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.93 169.52/121.93 The set Q consists of the following terms: 169.52/121.93 169.52/121.93 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.93 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.93 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.93 new_primMinusNatS2(Zero, Zero) 169.52/121.93 new_primMinusNatS1 169.52/121.93 new_primMinusNatS0(x0) 169.52/121.93 169.52/121.93 We have to consider all minimal (P,Q,R)-chains. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (39) DependencyGraphProof (EQUIVALENT) 169.52/121.93 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes. 169.52/121.93 ---------------------------------------- 169.52/121.93 169.52/121.93 (40) 169.52/121.93 Obligation: 169.52/121.93 Q DP problem: 169.52/121.93 The TRS P consists of the following rules: 169.52/121.93 169.52/121.93 new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Succ(vuz760)) -> new_primDivNatS0(vuz73, vuz74, vuz750, vuz760) 169.52/121.93 169.52/121.93 The TRS R consists of the following rules: 169.52/121.93 169.52/121.93 new_primMinusNatS1 -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.93 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.93 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.93 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.93 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (41) QDPSizeChangeProof (EQUIVALENT) 169.52/121.94 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. 169.52/121.94 169.52/121.94 From the DPs we obtained the following set of size-change graphs: 169.52/121.94 *new_primDivNatS0(vuz73, vuz74, Succ(vuz750), Succ(vuz760)) -> new_primDivNatS0(vuz73, vuz74, vuz750, vuz760) 169.52/121.94 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 4 > 4 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (42) 169.52/121.94 YES 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (43) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) 169.52/121.94 169.52/121.94 R is empty. 169.52/121.94 Q is empty. 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (44) QDPSizeChangeProof (EQUIVALENT) 169.52/121.94 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. 169.52/121.94 169.52/121.94 From the DPs we obtained the following set of size-change graphs: 169.52/121.94 *new_primMulNat(Succ(vuz3100), Succ(vuz4100)) -> new_primMulNat(vuz3100, Succ(vuz4100)) 169.52/121.94 The graph contains the following edges 1 > 1, 2 >= 2 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (45) 169.52/121.94 YES 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (46) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs0(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71)) 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs0(vuz17) -> new_esEs1(vuz17) 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_error -> error([]) 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_esEs0(x0) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (47) TransformationProof (EQUIVALENT) 169.52/121.94 By rewriting [LPAR04] the rule new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs0(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71)) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.94 169.52/121.94 (new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs1(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71)),new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs1(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71))) 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (48) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs1(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71)) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs0(vuz17) -> new_esEs1(vuz17) 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_error -> error([]) 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_esEs0(x0) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (49) UsableRulesProof (EQUIVALENT) 169.52/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. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (50) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs1(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71)) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_error -> error([]) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_esEs0(x0) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (51) QReductionProof (EQUIVALENT) 169.52/121.94 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 169.52/121.94 169.52/121.94 new_esEs0(x0) 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (52) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs1(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71)) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_error -> error([]) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (53) TransformationProof (EQUIVALENT) 169.52/121.94 By instantiating [LPAR04] the rule new_quot0(vuz180, vuz86, vuz71, vuz85) -> new_quot(vuz180, new_esEs1(new_primRemInt(vuz86, vuz71)), vuz71, new_primRemInt(vuz86, vuz71)) we obtained the following new rules [LPAR04]: 169.52/121.94 169.52/121.94 (new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)),new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2))) 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (54) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_error -> error([]) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (55) MNOCProof (EQUIVALENT) 169.52/121.94 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (56) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_error -> error([]) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 Q is empty. 169.52/121.94 We have to consider all (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (57) InductionCalculusProof (EQUIVALENT) 169.52/121.94 Note that final constraints are written in bold face. 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 For Pair new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) the following chains were created: 169.52/121.94 *We consider the chain new_quot(x3, False, x4, x5) -> new_quot0(x3, x4, x5, x4), new_quot0(x6, x7, x8, x7) -> new_quot(x6, new_esEs1(new_primRemInt(x7, x8)), x8, new_primRemInt(x7, x8)) which results in the following constraint: 169.52/121.94 169.52/121.94 (1) (new_quot0(x3, x4, x5, x4)=new_quot0(x6, x7, x8, x7) ==> new_quot(x3, False, x4, x5)_>=_new_quot0(x3, x4, x5, x4)) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 169.52/121.94 169.52/121.94 (2) (new_quot(x3, False, x4, x5)_>=_new_quot0(x3, x4, x5, x4)) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 For Pair new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) the following chains were created: 169.52/121.94 *We consider the chain new_quot0(x9, x10, x11, x10) -> new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11)), new_quot(x12, False, x13, x14) -> new_quot0(x12, x13, x14, x13) which results in the following constraint: 169.52/121.94 169.52/121.94 (1) (new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))=new_quot(x12, False, x13, x14) ==> new_quot0(x9, x10, x11, x10)_>=_new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (2) (new_primRemInt(x10, x11)=x18 & new_esEs1(x18)=False ==> new_quot0(x9, x10, x11, x10)_>=_new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x18)=False which results in the following new constraints: 169.52/121.94 169.52/121.94 (3) (False=False & new_primRemInt(x10, x11)=Pos(Succ(x19)) ==> new_quot0(x9, x10, x11, x10)_>=_new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) 169.52/121.94 169.52/121.94 (4) (False=False & new_primRemInt(x10, x11)=Neg(Succ(x20)) ==> new_quot0(x9, x10, x11, x10)_>=_new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 169.52/121.94 169.52/121.94 (5) (new_primRemInt(x10, x11)=Pos(Succ(x19)) ==> new_quot0(x9, x10, x11, x10)_>=_new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 169.52/121.94 169.52/121.94 (6) (new_primRemInt(x10, x11)=Neg(Succ(x20)) ==> new_quot0(x9, x10, x11, x10)_>=_new_quot(x9, new_esEs1(new_primRemInt(x10, x11)), x11, new_primRemInt(x10, x11))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Pos(Succ(x19)) which results in the following new constraints: 169.52/121.94 169.52/121.94 (7) (Pos(new_primModNatS1(x22, x21))=Pos(Succ(x19)) ==> new_quot0(x9, Pos(x22), Neg(Succ(x21)), Pos(x22))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x22), Neg(Succ(x21)))), Neg(Succ(x21)), new_primRemInt(Pos(x22), Neg(Succ(x21))))) 169.52/121.94 169.52/121.94 (8) (Pos(new_primModNatS1(x24, x23))=Pos(Succ(x19)) ==> new_quot0(x9, Pos(x24), Pos(Succ(x23)), Pos(x24))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x24), Pos(Succ(x23)))), Pos(Succ(x23)), new_primRemInt(Pos(x24), Pos(Succ(x23))))) 169.52/121.94 169.52/121.94 (9) (new_error=Pos(Succ(x19)) ==> new_quot0(x9, Neg(x25), Neg(Zero), Neg(x25))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x25), Neg(Zero))), Neg(Zero), new_primRemInt(Neg(x25), Neg(Zero)))) 169.52/121.94 169.52/121.94 (10) (new_error=Pos(Succ(x19)) ==> new_quot0(x9, Pos(x28), Pos(Zero), Pos(x28))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x28), Pos(Zero))), Pos(Zero), new_primRemInt(Pos(x28), Pos(Zero)))) 169.52/121.94 169.52/121.94 (11) (new_error=Pos(Succ(x19)) ==> new_quot0(x9, Pos(x31), Neg(Zero), Pos(x31))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x31), Neg(Zero))), Neg(Zero), new_primRemInt(Pos(x31), Neg(Zero)))) 169.52/121.94 169.52/121.94 (12) (new_error=Pos(Succ(x19)) ==> new_quot0(x9, Neg(x32), Pos(Zero), Neg(x32))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x32), Pos(Zero))), Pos(Zero), new_primRemInt(Neg(x32), Pos(Zero)))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 169.52/121.94 169.52/121.94 (13) (new_primModNatS1(x22, x21)=Succ(x19) ==> new_quot0(x9, Pos(x22), Neg(Succ(x21)), Pos(x22))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x22), Neg(Succ(x21)))), Neg(Succ(x21)), new_primRemInt(Pos(x22), Neg(Succ(x21))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 169.52/121.94 169.52/121.94 (14) (new_primModNatS1(x24, x23)=Succ(x19) ==> new_quot0(x9, Pos(x24), Pos(Succ(x23)), Pos(x24))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x24), Pos(Succ(x23)))), Pos(Succ(x23)), new_primRemInt(Pos(x24), Pos(Succ(x23))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 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(x22, x21)=Succ(x19) which results in the following new constraints: 169.52/121.94 169.52/121.94 (15) (Succ(Zero)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x33))), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33))))), Neg(Succ(Succ(x33))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33)))))) 169.52/121.94 169.52/121.94 (16) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 (17) (new_primModNatS1(new_primMinusNatS0(x35), Zero)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Succ(x35))), Neg(Succ(Zero)), Pos(Succ(Succ(x35))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 (18) (new_primModNatS01(x37, x36, x37, x36)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Succ(x37))), Neg(Succ(Succ(x36))), Pos(Succ(Succ(x37))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Succ(x36))))), Neg(Succ(Succ(x36))), new_primRemInt(Pos(Succ(Succ(x37))), Neg(Succ(Succ(x36)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 169.52/121.94 169.52/121.94 (19) (new_quot0(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x33))), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33))))), Neg(Succ(Succ(x33))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (20) (new_quot0(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (21) (new_quot0(x9, Pos(Succ(Succ(x35))), Neg(Succ(Zero)), Pos(Succ(Succ(x35))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (22) (new_quot0(x9, Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))), Pos(Succ(Succ(x42))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))))), Neg(Succ(Succ(x43))), new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (14) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x24, x23)=Succ(x19) which results in the following new constraints: 169.52/121.94 169.52/121.94 (23) (Succ(Zero)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))), Pos(Succ(Succ(x44))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))))) 169.52/121.94 169.52/121.94 (24) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 (25) (new_primModNatS1(new_primMinusNatS0(x46), Zero)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 (26) (new_primModNatS01(x48, x47, x48, x47)=Succ(x19) ==> new_quot0(x9, Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))), Pos(Succ(Succ(x47))), new_primRemInt(Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 169.52/121.94 169.52/121.94 (27) (new_quot0(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))), Pos(Succ(Succ(x44))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (28) (new_quot0(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (29) (new_quot0(x9, Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (30) (new_quot0(x9, Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))), Pos(Succ(Succ(x53))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))))), Pos(Succ(Succ(x54))), new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primRemInt(x10, x11)=Neg(Succ(x20)) which results in the following new constraints: 169.52/121.94 169.52/121.94 (31) (new_error=Neg(Succ(x20)) ==> new_quot0(x9, Neg(x59), Neg(Zero), Neg(x59))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x59), Neg(Zero))), Neg(Zero), new_primRemInt(Neg(x59), Neg(Zero)))) 169.52/121.94 169.52/121.94 (32) (Neg(new_primModNatS1(x61, x60))=Neg(Succ(x20)) ==> new_quot0(x9, Neg(x61), Pos(Succ(x60)), Neg(x61))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x61), Pos(Succ(x60)))), Pos(Succ(x60)), new_primRemInt(Neg(x61), Pos(Succ(x60))))) 169.52/121.94 169.52/121.94 (33) (new_error=Neg(Succ(x20)) ==> new_quot0(x9, Pos(x62), Pos(Zero), Pos(x62))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x62), Pos(Zero))), Pos(Zero), new_primRemInt(Pos(x62), Pos(Zero)))) 169.52/121.94 169.52/121.94 (34) (Neg(new_primModNatS1(x64, x63))=Neg(Succ(x20)) ==> new_quot0(x9, Neg(x64), Neg(Succ(x63)), Neg(x64))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x64), Neg(Succ(x63)))), Neg(Succ(x63)), new_primRemInt(Neg(x64), Neg(Succ(x63))))) 169.52/121.94 169.52/121.94 (35) (new_error=Neg(Succ(x20)) ==> new_quot0(x9, Pos(x65), Neg(Zero), Pos(x65))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(x65), Neg(Zero))), Neg(Zero), new_primRemInt(Pos(x65), Neg(Zero)))) 169.52/121.94 169.52/121.94 (36) (new_error=Neg(Succ(x20)) ==> new_quot0(x9, Neg(x66), Pos(Zero), Neg(x66))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x66), Pos(Zero))), Pos(Zero), new_primRemInt(Neg(x66), Pos(Zero)))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 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: 169.52/121.94 169.52/121.94 (37) (new_primModNatS1(x61, x60)=Succ(x20) ==> new_quot0(x9, Neg(x61), Pos(Succ(x60)), Neg(x61))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x61), Pos(Succ(x60)))), Pos(Succ(x60)), new_primRemInt(Neg(x61), Pos(Succ(x60))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 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: 169.52/121.94 169.52/121.94 (38) (new_primModNatS1(x64, x63)=Succ(x20) ==> new_quot0(x9, Neg(x64), Neg(Succ(x63)), Neg(x64))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(x64), Neg(Succ(x63)))), Neg(Succ(x63)), new_primRemInt(Neg(x64), Neg(Succ(x63))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 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(x61, x60)=Succ(x20) which results in the following new constraints: 169.52/121.94 169.52/121.94 (39) (Succ(Zero)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67))))), Pos(Succ(Succ(x67))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67)))))) 169.52/121.94 169.52/121.94 (40) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 (41) (new_primModNatS1(new_primMinusNatS0(x69), Zero)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Succ(x69))), Pos(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 (42) (new_primModNatS01(x71, x70, x71, x70)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Succ(x71))), Pos(Succ(Succ(x70))), Neg(Succ(Succ(x71))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Succ(x70))))), Pos(Succ(Succ(x70))), new_primRemInt(Neg(Succ(Succ(x71))), Pos(Succ(Succ(x70)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: 169.52/121.94 169.52/121.94 (43) (new_quot0(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67))))), Pos(Succ(Succ(x67))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (44) (new_quot0(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (45) (new_quot0(x9, Neg(Succ(Succ(x69))), Pos(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (46) (new_quot0(x9, Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))), Neg(Succ(Succ(x76))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))))), Pos(Succ(Succ(x77))), new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (38) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x64, x63)=Succ(x20) which results in the following new constraints: 169.52/121.94 169.52/121.94 (47) (Succ(Zero)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78))))), Neg(Succ(Succ(x78))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78)))))) 169.52/121.94 169.52/121.94 (48) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 (49) (new_primModNatS1(new_primMinusNatS0(x80), Zero)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 (50) (new_primModNatS01(x82, x81, x82, x81)=Succ(x20) ==> new_quot0(x9, Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))), Neg(Succ(Succ(x81))), new_primRemInt(Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: 169.52/121.94 169.52/121.94 (51) (new_quot0(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78))))), Neg(Succ(Succ(x78))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (52) (new_quot0(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (53) (new_quot0(x9, Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: 169.52/121.94 169.52/121.94 (54) (new_quot0(x9, Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))))), Neg(Succ(Succ(x88))), new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 To summarize, we get the following constraints P__>=_ for the following pairs. 169.52/121.94 169.52/121.94 *new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 169.52/121.94 *(new_quot(x3, False, x4, x5)_>=_new_quot0(x3, x4, x5, x4)) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 *new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Zero)), Neg(Succ(Succ(x33))), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33))))), Neg(Succ(Succ(x33))), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x33)))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Zero)), Pos(Succ(Succ(x44))), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44))))), Pos(Succ(Succ(x44))), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x44)))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Zero)), Pos(Succ(Succ(x67))), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67))))), Pos(Succ(Succ(x67))), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x67)))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Zero)), Neg(Succ(Succ(x78))), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78))))), Neg(Succ(Succ(x78))), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x78)))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Succ(x35))), Neg(Succ(Zero)), Pos(Succ(Succ(x35))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x35))), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))), Pos(Succ(Succ(x42))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43))))), Neg(Succ(Succ(x43))), new_primRemInt(Pos(Succ(Succ(x42))), Neg(Succ(Succ(x43)))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Succ(x46))), Pos(Succ(Zero)), Pos(Succ(Succ(x46))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Pos(Succ(Succ(x46))), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))), Pos(Succ(Succ(x53))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54))))), Pos(Succ(Succ(x54))), new_primRemInt(Pos(Succ(Succ(x53))), Pos(Succ(Succ(x54)))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Succ(x69))), Pos(Succ(Zero)), Neg(Succ(Succ(x69))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero)))), Pos(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x69))), Pos(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))), Neg(Succ(Succ(x76))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77))))), Pos(Succ(Succ(x77))), new_primRemInt(Neg(Succ(Succ(x76))), Pos(Succ(Succ(x77)))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Succ(x80))), Neg(Succ(Zero)), Neg(Succ(Succ(x80))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero)))), Neg(Succ(Zero)), new_primRemInt(Neg(Succ(Succ(x80))), Neg(Succ(Zero))))) 169.52/121.94 169.52/121.94 169.52/121.94 *(new_quot0(x9, Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))), Neg(Succ(Succ(x87))))_>=_new_quot(x9, new_esEs1(new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88))))), Neg(Succ(Succ(x88))), new_primRemInt(Neg(Succ(Succ(x87))), Neg(Succ(Succ(x88)))))) 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/121.94 169.52/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. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (58) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_error -> error([]) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (59) TransformationProof (EQUIVALENT) 169.52/121.94 By narrowing [LPAR04] the rule new_quot0(z0, z1, z2, z1) -> new_quot(z0, new_esEs1(new_primRemInt(z1, z2)), z2, new_primRemInt(z1, z2)) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.94 169.52/121.94 (new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))),new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1))))) 169.52/121.94 (new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))),new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1))))) 169.52/121.94 (new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) 169.52/121.94 (new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))),new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1))))) 169.52/121.94 (new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) 169.52/121.94 (new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))),new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1))))) 169.52/121.94 (new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) 169.52/121.94 (new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (60) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_error -> error([]) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (61) TransformationProof (EQUIVALENT) 169.52/121.94 By rewriting [LPAR04] the rule new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Pos(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 169.52/121.94 169.52/121.94 (new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (62) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_error -> error([]) 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (63) UsableRulesProof (EQUIVALENT) 169.52/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. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (64) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_error -> error([]) 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.94 new_primModNatS1(Zero, x0) 169.52/121.94 new_primModNatS02(x0, x1) 169.52/121.94 new_esEs1(Neg(Succ(x0))) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.94 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.94 new_esEs1(Neg(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.94 169.52/121.94 We have to consider all minimal (P,Q,R)-chains. 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (65) TransformationProof (EQUIVALENT) 169.52/121.94 By rewriting [LPAR04] the rule new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Pos(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 169.52/121.94 169.52/121.94 (new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 169.52/121.94 169.52/121.94 169.52/121.94 ---------------------------------------- 169.52/121.94 169.52/121.94 (66) 169.52/121.94 Obligation: 169.52/121.94 Q DP problem: 169.52/121.94 The TRS P consists of the following rules: 169.52/121.94 169.52/121.94 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.94 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.94 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.94 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.94 169.52/121.94 The TRS R consists of the following rules: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.94 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.94 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.94 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.94 new_esEs1(Pos(Zero)) -> True 169.52/121.94 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.94 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.94 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.94 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.94 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.94 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.94 new_primMinusNatS1 -> Zero 169.52/121.94 new_error -> error([]) 169.52/121.94 new_esEs1(Neg(Zero)) -> True 169.52/121.94 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.94 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.94 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 169.52/121.94 169.52/121.94 The set Q consists of the following terms: 169.52/121.94 169.52/121.94 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.94 new_primMinusNatS1 169.52/121.94 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.94 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.94 new_primMinusNatS2(Zero, Zero) 169.52/121.94 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.94 new_error 169.52/121.94 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.94 new_primModNatS1(Succ(Zero), Zero) 169.52/121.94 new_primMinusNatS0(x0) 169.52/121.94 new_esEs1(Pos(Zero)) 169.52/121.94 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.94 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.94 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.94 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.94 new_esEs1(Pos(Succ(x0))) 169.52/121.95 new_primModNatS1(Zero, x0) 169.52/121.95 new_primModNatS02(x0, x1) 169.52/121.95 new_esEs1(Neg(Succ(x0))) 169.52/121.95 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.95 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.95 new_esEs1(Neg(Zero)) 169.52/121.95 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.95 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.95 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.95 169.52/121.95 We have to consider all minimal (P,Q,R)-chains. 169.52/121.95 ---------------------------------------- 169.52/121.95 169.52/121.95 (67) UsableRulesProof (EQUIVALENT) 169.52/121.95 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 169.52/121.95 ---------------------------------------- 169.52/121.95 169.52/121.95 (68) 169.52/121.95 Obligation: 169.52/121.95 Q DP problem: 169.52/121.95 The TRS P consists of the following rules: 169.52/121.95 169.52/121.95 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.95 new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 169.52/121.95 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.95 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.95 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.95 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.95 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.95 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.95 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.95 169.52/121.95 The TRS R consists of the following rules: 169.52/121.95 169.52/121.95 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.95 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.95 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.95 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.95 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.95 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.95 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.95 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.95 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.95 new_esEs1(Pos(Zero)) -> True 169.52/121.95 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.95 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.95 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.95 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.95 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.95 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.95 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.95 new_primMinusNatS1 -> Zero 169.52/121.95 new_error -> error([]) 169.52/121.95 new_esEs1(Neg(Zero)) -> True 169.52/121.95 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.95 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.95 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.95 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.95 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.95 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.95 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.95 169.52/121.95 The set Q consists of the following terms: 169.52/121.95 169.52/121.95 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.95 new_primMinusNatS1 169.52/121.95 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.95 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.95 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.95 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (69) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))),new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (70) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Neg(x0), Neg(Zero))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_error -> error([]) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (71) DependencyGraphProof (EQUIVALENT) 169.52/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (72) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_error -> error([]) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (73) UsableRulesProof (EQUIVALENT) 169.52/121.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (74) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_error -> error([]) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (75) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), new_primRemInt(Neg(x0), Pos(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (76) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_error -> error([]) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (77) UsableRulesProof (EQUIVALENT) 169.52/121.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (78) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (79) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))),new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (80) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Pos(x0), Pos(Zero))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (81) DependencyGraphProof (EQUIVALENT) 169.52/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (82) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (83) UsableRulesProof (EQUIVALENT) 169.52/121.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (84) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (85) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), new_primRemInt(Neg(x0), Neg(Succ(x1)))) at position [3] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (86) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (87) UsableRulesProof (EQUIVALENT) 169.52/121.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (88) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (89) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(new_error), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))),new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (90) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Zero), Pos(x0)) -> new_quot(y0, new_esEs1(error([])), Neg(Zero), new_primRemInt(Pos(x0), Neg(Zero))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (91) DependencyGraphProof (EQUIVALENT) 169.52/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (92) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (93) UsableRulesProof (EQUIVALENT) 169.52/121.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (94) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (95) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(new_error), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))),new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (96) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Zero), Neg(x0)) -> new_quot(y0, new_esEs1(error([])), Pos(Zero), new_primRemInt(Neg(x0), Pos(Zero))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (97) DependencyGraphProof (EQUIVALENT) 169.52/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (98) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 new_error -> error([]) 169.52/121.96 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (99) UsableRulesProof (EQUIVALENT) 169.52/121.96 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (100) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (101) QReductionProof (EQUIVALENT) 169.52/121.96 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 169.52/121.96 169.52/121.96 new_primRemInt(Neg(x0), Neg(Succ(x1))) 169.52/121.96 new_error 169.52/121.96 new_primRemInt(Pos(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Neg(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Pos(Zero)) 169.52/121.96 new_primRemInt(Pos(x0), Neg(Succ(x1))) 169.52/121.96 new_primRemInt(Neg(x0), Pos(Succ(x1))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (102) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (103) TransformationProof (EQUIVALENT) 169.52/121.96 By narrowing [LPAR04] the rule new_quot0(y0, Pos(x0), Neg(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.96 (new_quot0(y0, Pos(Zero), Neg(Succ(x0)), Pos(Zero)) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot0(y0, Pos(Zero), Neg(Succ(x0)), Pos(Zero)) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) 169.52/121.96 (new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.96 (new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.96 (new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (104) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.96 new_quot0(y0, Pos(Zero), Neg(Succ(x0)), Pos(Zero)) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (105) DependencyGraphProof (EQUIVALENT) 169.52/121.96 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (106) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (107) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (108) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (109) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (110) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (111) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (112) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (113) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (114) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (115) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.96 169.52/121.96 (new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 169.52/121.96 169.52/121.96 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (116) 169.52/121.96 Obligation: 169.52/121.96 Q DP problem: 169.52/121.96 The TRS P consists of the following rules: 169.52/121.96 169.52/121.96 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.96 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.96 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.96 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.96 169.52/121.96 The TRS R consists of the following rules: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.96 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.96 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.96 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.96 new_esEs1(Neg(Zero)) -> True 169.52/121.96 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.96 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.96 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.96 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.96 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.96 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.96 new_primMinusNatS1 -> Zero 169.52/121.96 new_esEs1(Pos(Zero)) -> True 169.52/121.96 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.96 169.52/121.96 The set Q consists of the following terms: 169.52/121.96 169.52/121.96 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.96 new_primMinusNatS1 169.52/121.96 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.96 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.96 new_primMinusNatS2(Zero, Zero) 169.52/121.96 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.96 new_primModNatS1(Succ(Zero), Zero) 169.52/121.96 new_primMinusNatS0(x0) 169.52/121.96 new_esEs1(Pos(Zero)) 169.52/121.96 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.96 new_esEs1(Pos(Succ(x0))) 169.52/121.96 new_primModNatS1(Zero, x0) 169.52/121.96 new_primModNatS02(x0, x1) 169.52/121.96 new_esEs1(Neg(Succ(x0))) 169.52/121.96 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.96 new_esEs1(Neg(Zero)) 169.52/121.96 169.52/121.96 We have to consider all minimal (P,Q,R)-chains. 169.52/121.96 ---------------------------------------- 169.52/121.96 169.52/121.96 (117) TransformationProof (EQUIVALENT) 169.52/121.96 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.97 169.52/121.97 (new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.52/121.97 169.52/121.97 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (118) 169.52/121.97 Obligation: 169.52/121.97 Q DP problem: 169.52/121.97 The TRS P consists of the following rules: 169.52/121.97 169.52/121.97 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.97 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.97 169.52/121.97 The TRS R consists of the following rules: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.97 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_esEs1(Neg(Zero)) -> True 169.52/121.97 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.97 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.97 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.97 new_primMinusNatS1 -> Zero 169.52/121.97 new_esEs1(Pos(Zero)) -> True 169.52/121.97 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.97 169.52/121.97 The set Q consists of the following terms: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.97 new_primMinusNatS1 169.52/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.97 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Zero, Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) 169.52/121.97 new_primMinusNatS0(x0) 169.52/121.97 new_esEs1(Pos(Zero)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.97 new_esEs1(Pos(Succ(x0))) 169.52/121.97 new_primModNatS1(Zero, x0) 169.52/121.97 new_primModNatS02(x0, x1) 169.52/121.97 new_esEs1(Neg(Succ(x0))) 169.52/121.97 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.97 new_esEs1(Neg(Zero)) 169.52/121.97 169.52/121.97 We have to consider all minimal (P,Q,R)-chains. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (119) TransformationProof (EQUIVALENT) 169.52/121.97 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.52/121.97 169.52/121.97 (new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.97 169.52/121.97 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (120) 169.52/121.97 Obligation: 169.52/121.97 Q DP problem: 169.52/121.97 The TRS P consists of the following rules: 169.52/121.97 169.52/121.97 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.97 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.97 169.52/121.97 The TRS R consists of the following rules: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.97 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_esEs1(Neg(Zero)) -> True 169.52/121.97 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.97 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.97 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.97 new_primMinusNatS1 -> Zero 169.52/121.97 new_esEs1(Pos(Zero)) -> True 169.52/121.97 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.97 169.52/121.97 The set Q consists of the following terms: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.97 new_primMinusNatS1 169.52/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.97 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Zero, Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) 169.52/121.97 new_primMinusNatS0(x0) 169.52/121.97 new_esEs1(Pos(Zero)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.97 new_esEs1(Pos(Succ(x0))) 169.52/121.97 new_primModNatS1(Zero, x0) 169.52/121.97 new_primModNatS02(x0, x1) 169.52/121.97 new_esEs1(Neg(Succ(x0))) 169.52/121.97 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.97 new_esEs1(Neg(Zero)) 169.52/121.97 169.52/121.97 We have to consider all minimal (P,Q,R)-chains. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (121) DependencyGraphProof (EQUIVALENT) 169.52/121.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (122) 169.52/121.97 Obligation: 169.52/121.97 Q DP problem: 169.52/121.97 The TRS P consists of the following rules: 169.52/121.97 169.52/121.97 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.97 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.97 169.52/121.97 The TRS R consists of the following rules: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.97 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_esEs1(Neg(Zero)) -> True 169.52/121.97 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.97 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.97 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.97 new_primMinusNatS1 -> Zero 169.52/121.97 new_esEs1(Pos(Zero)) -> True 169.52/121.97 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.97 169.52/121.97 The set Q consists of the following terms: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.97 new_primMinusNatS1 169.52/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.97 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Zero, Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) 169.52/121.97 new_primMinusNatS0(x0) 169.52/121.97 new_esEs1(Pos(Zero)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.97 new_esEs1(Pos(Succ(x0))) 169.52/121.97 new_primModNatS1(Zero, x0) 169.52/121.97 new_primModNatS02(x0, x1) 169.52/121.97 new_esEs1(Neg(Succ(x0))) 169.52/121.97 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.97 new_esEs1(Neg(Zero)) 169.52/121.97 169.52/121.97 We have to consider all minimal (P,Q,R)-chains. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (123) TransformationProof (EQUIVALENT) 169.52/121.97 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.52/121.97 169.52/121.97 (new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 169.52/121.97 169.52/121.97 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (124) 169.52/121.97 Obligation: 169.52/121.97 Q DP problem: 169.52/121.97 The TRS P consists of the following rules: 169.52/121.97 169.52/121.97 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.97 new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.97 169.52/121.97 The TRS R consists of the following rules: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.97 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_esEs1(Neg(Zero)) -> True 169.52/121.97 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.97 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.97 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.97 new_primMinusNatS1 -> Zero 169.52/121.97 new_esEs1(Pos(Zero)) -> True 169.52/121.97 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.97 169.52/121.97 The set Q consists of the following terms: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.97 new_primMinusNatS1 169.52/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.97 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Zero, Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) 169.52/121.97 new_primMinusNatS0(x0) 169.52/121.97 new_esEs1(Pos(Zero)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.97 new_esEs1(Pos(Succ(x0))) 169.52/121.97 new_primModNatS1(Zero, x0) 169.52/121.97 new_primModNatS02(x0, x1) 169.52/121.97 new_esEs1(Neg(Succ(x0))) 169.52/121.97 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.97 new_esEs1(Neg(Zero)) 169.52/121.97 169.52/121.97 We have to consider all minimal (P,Q,R)-chains. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (125) TransformationProof (EQUIVALENT) 169.52/121.97 By narrowing [LPAR04] the rule new_quot0(y0, Pos(x0), Pos(Succ(x1)), Pos(x0)) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.97 169.52/121.97 (new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.97 (new_quot0(y0, Pos(Zero), Pos(Succ(x0)), Pos(Zero)) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))),new_quot0(y0, Pos(Zero), Pos(Succ(x0)), Pos(Zero)) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0)))) 169.52/121.97 (new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.97 (new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.97 (new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 169.52/121.97 169.52/121.97 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (126) 169.52/121.97 Obligation: 169.52/121.97 Q DP problem: 169.52/121.97 The TRS P consists of the following rules: 169.52/121.97 169.52/121.97 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.97 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.97 new_quot0(y0, Pos(Zero), Pos(Succ(x0)), Pos(Zero)) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(x0)), Pos(new_primModNatS1(Zero, x0))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.97 169.52/121.97 The TRS R consists of the following rules: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.97 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_esEs1(Neg(Zero)) -> True 169.52/121.97 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.97 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.97 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.97 new_primMinusNatS1 -> Zero 169.52/121.97 new_esEs1(Pos(Zero)) -> True 169.52/121.97 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.97 169.52/121.97 The set Q consists of the following terms: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.97 new_primMinusNatS1 169.52/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.97 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Zero, Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) 169.52/121.97 new_primMinusNatS0(x0) 169.52/121.97 new_esEs1(Pos(Zero)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.97 new_esEs1(Pos(Succ(x0))) 169.52/121.97 new_primModNatS1(Zero, x0) 169.52/121.97 new_primModNatS02(x0, x1) 169.52/121.97 new_esEs1(Neg(Succ(x0))) 169.52/121.97 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.97 new_esEs1(Neg(Zero)) 169.52/121.97 169.52/121.97 We have to consider all minimal (P,Q,R)-chains. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (127) DependencyGraphProof (EQUIVALENT) 169.52/121.97 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (128) 169.52/121.97 Obligation: 169.52/121.97 Q DP problem: 169.52/121.97 The TRS P consists of the following rules: 169.52/121.97 169.52/121.97 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.97 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.97 169.52/121.97 The TRS R consists of the following rules: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.97 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_esEs1(Neg(Zero)) -> True 169.52/121.97 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.97 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.97 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.97 new_primMinusNatS1 -> Zero 169.52/121.97 new_esEs1(Pos(Zero)) -> True 169.52/121.97 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.97 169.52/121.97 The set Q consists of the following terms: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.97 new_primMinusNatS1 169.52/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.97 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Zero, Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) 169.52/121.97 new_primMinusNatS0(x0) 169.52/121.97 new_esEs1(Pos(Zero)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.97 new_esEs1(Pos(Succ(x0))) 169.52/121.97 new_primModNatS1(Zero, x0) 169.52/121.97 new_primModNatS02(x0, x1) 169.52/121.97 new_esEs1(Neg(Succ(x0))) 169.52/121.97 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.97 new_esEs1(Neg(Zero)) 169.52/121.97 169.52/121.97 We have to consider all minimal (P,Q,R)-chains. 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (129) TransformationProof (EQUIVALENT) 169.52/121.97 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.97 169.52/121.97 (new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.97 169.52/121.97 169.52/121.97 ---------------------------------------- 169.52/121.97 169.52/121.97 (130) 169.52/121.97 Obligation: 169.52/121.97 Q DP problem: 169.52/121.97 The TRS P consists of the following rules: 169.52/121.97 169.52/121.97 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.97 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.97 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.97 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.97 169.52/121.97 The TRS R consists of the following rules: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.97 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.97 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.97 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.97 new_esEs1(Neg(Zero)) -> True 169.52/121.97 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.97 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.97 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.97 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.97 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.97 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.97 new_primMinusNatS1 -> Zero 169.52/121.97 new_esEs1(Pos(Zero)) -> True 169.52/121.97 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.97 169.52/121.97 The set Q consists of the following terms: 169.52/121.97 169.52/121.97 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.97 new_primMinusNatS1 169.52/121.97 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.97 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.97 new_primMinusNatS2(Zero, Zero) 169.52/121.97 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.97 new_primModNatS1(Succ(Zero), Zero) 169.52/121.97 new_primMinusNatS0(x0) 169.52/121.97 new_esEs1(Pos(Zero)) 169.52/121.97 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.97 new_esEs1(Pos(Succ(x0))) 169.52/121.97 new_primModNatS1(Zero, x0) 169.52/121.97 new_primModNatS02(x0, x1) 169.52/121.97 new_esEs1(Neg(Succ(x0))) 169.52/121.97 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.97 new_esEs1(Neg(Zero)) 169.52/121.97 169.52/121.97 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (131) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (132) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (133) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (134) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (135) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (136) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (137) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (138) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (139) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (140) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (141) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (142) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (143) DependencyGraphProof (EQUIVALENT) 169.52/121.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (144) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (145) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (146) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (147) TransformationProof (EQUIVALENT) 169.52/121.98 By narrowing [LPAR04] the rule new_quot0(y0, Neg(x0), Pos(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.98 (new_quot0(y0, Neg(Zero), Pos(Succ(x0)), Neg(Zero)) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot0(y0, Neg(Zero), Pos(Succ(x0)), Neg(Zero)) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (148) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Zero), Pos(Succ(x0)), Neg(Zero)) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (149) DependencyGraphProof (EQUIVALENT) 169.52/121.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (150) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (151) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (152) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (153) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (154) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (155) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (156) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (157) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (158) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (159) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (160) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (161) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (162) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (163) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (164) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (165) DependencyGraphProof (EQUIVALENT) 169.52/121.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (166) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (167) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (168) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (169) TransformationProof (EQUIVALENT) 169.52/121.98 By narrowing [LPAR04] the rule new_quot0(y0, Neg(x0), Neg(Succ(x1)), Neg(x0)) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.98 (new_quot0(y0, Neg(Zero), Neg(Succ(x0)), Neg(Zero)) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))),new_quot0(y0, Neg(Zero), Neg(Succ(x0)), Neg(Zero)) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0)))) 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))),new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1))))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (170) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Zero), Neg(Succ(x0)), Neg(Zero)) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(x0)), Neg(new_primModNatS1(Zero, x0))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (171) DependencyGraphProof (EQUIVALENT) 169.52/121.98 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (172) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (173) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))),new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0))))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (174) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (175) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (176) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (177) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (178) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (179) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(x1)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (180) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.98 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.98 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.98 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.98 new_esEs1(Neg(Zero)) -> True 169.52/121.98 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.98 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.98 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.98 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.98 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.98 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.98 new_primMinusNatS1 -> Zero 169.52/121.98 new_esEs1(Pos(Zero)) -> True 169.52/121.98 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.98 169.52/121.98 The set Q consists of the following terms: 169.52/121.98 169.52/121.98 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.98 new_primMinusNatS1 169.52/121.98 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.98 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.98 new_primMinusNatS2(Zero, Zero) 169.52/121.98 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.98 new_primModNatS1(Succ(Zero), Zero) 169.52/121.98 new_primMinusNatS0(x0) 169.52/121.98 new_esEs1(Pos(Zero)) 169.52/121.98 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.98 new_esEs1(Pos(Succ(x0))) 169.52/121.98 new_primModNatS1(Zero, x0) 169.52/121.98 new_primModNatS02(x0, x1) 169.52/121.98 new_esEs1(Neg(Succ(x0))) 169.52/121.98 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.98 new_esEs1(Neg(Zero)) 169.52/121.98 169.52/121.98 We have to consider all minimal (P,Q,R)-chains. 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (181) TransformationProof (EQUIVALENT) 169.52/121.98 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(new_primModNatS1(Succ(Zero), Succ(x0)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.98 169.52/121.98 (new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 169.52/121.98 169.52/121.98 169.52/121.98 ---------------------------------------- 169.52/121.98 169.52/121.98 (182) 169.52/121.98 Obligation: 169.52/121.98 Q DP problem: 169.52/121.98 The TRS P consists of the following rules: 169.52/121.98 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.98 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.98 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.98 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.98 169.52/121.98 The TRS R consists of the following rules: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_esEs1(Neg(Zero)) -> True 169.52/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.99 new_primMinusNatS1 -> Zero 169.52/121.99 new_esEs1(Pos(Zero)) -> True 169.52/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.99 169.52/121.99 The set Q consists of the following terms: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.99 new_primMinusNatS1 169.52/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Zero, Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) 169.52/121.99 new_primMinusNatS0(x0) 169.52/121.99 new_esEs1(Pos(Zero)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.99 new_esEs1(Pos(Succ(x0))) 169.52/121.99 new_primModNatS1(Zero, x0) 169.52/121.99 new_primModNatS02(x0, x1) 169.52/121.99 new_esEs1(Neg(Succ(x0))) 169.52/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.99 new_esEs1(Neg(Zero)) 169.52/121.99 169.52/121.99 We have to consider all minimal (P,Q,R)-chains. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (183) TransformationProof (EQUIVALENT) 169.52/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.99 169.52/121.99 (new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.52/121.99 169.52/121.99 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (184) 169.52/121.99 Obligation: 169.52/121.99 Q DP problem: 169.52/121.99 The TRS P consists of the following rules: 169.52/121.99 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.99 169.52/121.99 The TRS R consists of the following rules: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_esEs1(Neg(Zero)) -> True 169.52/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.99 new_primMinusNatS1 -> Zero 169.52/121.99 new_esEs1(Pos(Zero)) -> True 169.52/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.99 169.52/121.99 The set Q consists of the following terms: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.99 new_primMinusNatS1 169.52/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Zero, Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) 169.52/121.99 new_primMinusNatS0(x0) 169.52/121.99 new_esEs1(Pos(Zero)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.99 new_esEs1(Pos(Succ(x0))) 169.52/121.99 new_primModNatS1(Zero, x0) 169.52/121.99 new_primModNatS02(x0, x1) 169.52/121.99 new_esEs1(Neg(Succ(x0))) 169.52/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.99 new_esEs1(Neg(Zero)) 169.52/121.99 169.52/121.99 We have to consider all minimal (P,Q,R)-chains. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (185) TransformationProof (EQUIVALENT) 169.52/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.52/121.99 169.52/121.99 (new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.52/121.99 169.52/121.99 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (186) 169.52/121.99 Obligation: 169.52/121.99 Q DP problem: 169.52/121.99 The TRS P consists of the following rules: 169.52/121.99 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.52/121.99 169.52/121.99 The TRS R consists of the following rules: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_esEs1(Neg(Zero)) -> True 169.52/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.99 new_primMinusNatS1 -> Zero 169.52/121.99 new_esEs1(Pos(Zero)) -> True 169.52/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.99 169.52/121.99 The set Q consists of the following terms: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.99 new_primMinusNatS1 169.52/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Zero, Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) 169.52/121.99 new_primMinusNatS0(x0) 169.52/121.99 new_esEs1(Pos(Zero)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.99 new_esEs1(Pos(Succ(x0))) 169.52/121.99 new_primModNatS1(Zero, x0) 169.52/121.99 new_primModNatS02(x0, x1) 169.52/121.99 new_esEs1(Neg(Succ(x0))) 169.52/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.99 new_esEs1(Neg(Zero)) 169.52/121.99 169.52/121.99 We have to consider all minimal (P,Q,R)-chains. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (187) DependencyGraphProof (EQUIVALENT) 169.52/121.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (188) 169.52/121.99 Obligation: 169.52/121.99 Q DP problem: 169.52/121.99 The TRS P consists of the following rules: 169.52/121.99 169.52/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.52/121.99 169.52/121.99 The TRS R consists of the following rules: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_esEs1(Neg(Zero)) -> True 169.52/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.99 new_primMinusNatS1 -> Zero 169.52/121.99 new_esEs1(Pos(Zero)) -> True 169.52/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.99 169.52/121.99 The set Q consists of the following terms: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.99 new_primMinusNatS1 169.52/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Zero, Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) 169.52/121.99 new_primMinusNatS0(x0) 169.52/121.99 new_esEs1(Pos(Zero)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.99 new_esEs1(Pos(Succ(x0))) 169.52/121.99 new_primModNatS1(Zero, x0) 169.52/121.99 new_primModNatS02(x0, x1) 169.52/121.99 new_esEs1(Neg(Succ(x0))) 169.52/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.99 new_esEs1(Neg(Zero)) 169.52/121.99 169.52/121.99 We have to consider all minimal (P,Q,R)-chains. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (189) TransformationProof (EQUIVALENT) 169.52/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.52/121.99 169.52/121.99 (new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 169.52/121.99 169.52/121.99 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (190) 169.52/121.99 Obligation: 169.52/121.99 Q DP problem: 169.52/121.99 The TRS P consists of the following rules: 169.52/121.99 169.52/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 169.52/121.99 The TRS R consists of the following rules: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_esEs1(Neg(Zero)) -> True 169.52/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.99 new_primMinusNatS1 -> Zero 169.52/121.99 new_esEs1(Pos(Zero)) -> True 169.52/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.99 169.52/121.99 The set Q consists of the following terms: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.99 new_primMinusNatS1 169.52/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Zero, Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) 169.52/121.99 new_primMinusNatS0(x0) 169.52/121.99 new_esEs1(Pos(Zero)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.99 new_esEs1(Pos(Succ(x0))) 169.52/121.99 new_primModNatS1(Zero, x0) 169.52/121.99 new_primModNatS02(x0, x1) 169.52/121.99 new_esEs1(Neg(Succ(x0))) 169.52/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.99 new_esEs1(Neg(Zero)) 169.52/121.99 169.52/121.99 We have to consider all minimal (P,Q,R)-chains. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (191) TransformationProof (EQUIVALENT) 169.52/121.99 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.52/121.99 169.52/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.52/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 169.52/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.52/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.52/121.99 169.52/121.99 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (192) 169.52/121.99 Obligation: 169.52/121.99 Q DP problem: 169.52/121.99 The TRS P consists of the following rules: 169.52/121.99 169.52/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.52/121.99 169.52/121.99 The TRS R consists of the following rules: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_esEs1(Neg(Zero)) -> True 169.52/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.99 new_primMinusNatS1 -> Zero 169.52/121.99 new_esEs1(Pos(Zero)) -> True 169.52/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.99 169.52/121.99 The set Q consists of the following terms: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.99 new_primMinusNatS1 169.52/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Zero, Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) 169.52/121.99 new_primMinusNatS0(x0) 169.52/121.99 new_esEs1(Pos(Zero)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.99 new_esEs1(Pos(Succ(x0))) 169.52/121.99 new_primModNatS1(Zero, x0) 169.52/121.99 new_primModNatS02(x0, x1) 169.52/121.99 new_esEs1(Neg(Succ(x0))) 169.52/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.99 new_esEs1(Neg(Zero)) 169.52/121.99 169.52/121.99 We have to consider all minimal (P,Q,R)-chains. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (193) TransformationProof (EQUIVALENT) 169.52/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.52/121.99 169.52/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.52/121.99 169.52/121.99 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (194) 169.52/121.99 Obligation: 169.52/121.99 Q DP problem: 169.52/121.99 The TRS P consists of the following rules: 169.52/121.99 169.52/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.52/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.52/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.52/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.52/121.99 169.52/121.99 The TRS R consists of the following rules: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.52/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.52/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.52/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.52/121.99 new_esEs1(Neg(Zero)) -> True 169.52/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.52/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.52/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.52/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.52/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.52/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.52/121.99 new_primMinusNatS1 -> Zero 169.52/121.99 new_esEs1(Pos(Zero)) -> True 169.52/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.52/121.99 169.52/121.99 The set Q consists of the following terms: 169.52/121.99 169.52/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.52/121.99 new_primMinusNatS1 169.52/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.52/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.52/121.99 new_primMinusNatS2(Zero, Zero) 169.52/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.52/121.99 new_primModNatS1(Succ(Zero), Zero) 169.52/121.99 new_primMinusNatS0(x0) 169.52/121.99 new_esEs1(Pos(Zero)) 169.52/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.52/121.99 new_esEs1(Pos(Succ(x0))) 169.52/121.99 new_primModNatS1(Zero, x0) 169.52/121.99 new_primModNatS02(x0, x1) 169.52/121.99 new_esEs1(Neg(Succ(x0))) 169.52/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.52/121.99 new_esEs1(Neg(Zero)) 169.52/121.99 169.52/121.99 We have to consider all minimal (P,Q,R)-chains. 169.52/121.99 ---------------------------------------- 169.52/121.99 169.52/121.99 (195) TransformationProof (EQUIVALENT) 169.52/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.52/121.99 169.52/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (196) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (197) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (198) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (199) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (200) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (201) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (202) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (203) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (204) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (205) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (206) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (207) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (208) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (209) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (210) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (211) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (212) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (213) DependencyGraphProof (EQUIVALENT) 169.83/121.99 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (214) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (215) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (216) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (217) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (218) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (219) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (220) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/121.99 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/121.99 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 169.83/121.99 169.83/121.99 The TRS R consists of the following rules: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/121.99 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/121.99 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/121.99 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/121.99 new_esEs1(Neg(Zero)) -> True 169.83/121.99 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/121.99 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/121.99 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/121.99 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/121.99 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/121.99 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/121.99 new_primMinusNatS1 -> Zero 169.83/121.99 new_esEs1(Pos(Zero)) -> True 169.83/121.99 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/121.99 169.83/121.99 The set Q consists of the following terms: 169.83/121.99 169.83/121.99 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/121.99 new_primMinusNatS1 169.83/121.99 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/121.99 new_primMinusNatS2(Zero, Succ(x0)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/121.99 new_primMinusNatS2(Zero, Zero) 169.83/121.99 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/121.99 new_primModNatS1(Succ(Zero), Zero) 169.83/121.99 new_primMinusNatS0(x0) 169.83/121.99 new_esEs1(Pos(Zero)) 169.83/121.99 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/121.99 new_esEs1(Pos(Succ(x0))) 169.83/121.99 new_primModNatS1(Zero, x0) 169.83/121.99 new_primModNatS02(x0, x1) 169.83/121.99 new_esEs1(Neg(Succ(x0))) 169.83/121.99 new_primModNatS01(x0, x1, Zero, Zero) 169.83/121.99 new_esEs1(Neg(Zero)) 169.83/121.99 169.83/121.99 We have to consider all minimal (P,Q,R)-chains. 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (221) TransformationProof (EQUIVALENT) 169.83/121.99 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/121.99 169.83/121.99 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 169.83/121.99 169.83/121.99 169.83/121.99 ---------------------------------------- 169.83/121.99 169.83/121.99 (222) 169.83/121.99 Obligation: 169.83/121.99 Q DP problem: 169.83/121.99 The TRS P consists of the following rules: 169.83/121.99 169.83/121.99 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/121.99 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/121.99 new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (223) TransformationProof (EQUIVALENT) 169.83/122.00 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (224) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (225) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (226) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (227) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (228) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (229) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (230) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (231) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (232) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (233) DependencyGraphProof (EQUIVALENT) 169.83/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (234) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (235) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (236) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (237) TransformationProof (EQUIVALENT) 169.83/122.00 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (238) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (239) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (240) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (241) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (242) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (243) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (244) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (245) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (246) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (247) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (248) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (249) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (250) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (251) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (252) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (253) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (254) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (255) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (256) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (257) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (258) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (259) DependencyGraphProof (EQUIVALENT) 169.83/122.00 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (260) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (261) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (262) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (263) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (264) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (265) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (266) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.00 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.00 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.00 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.00 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.00 new_primMinusNatS1 -> Zero 169.83/122.00 new_esEs1(Pos(Zero)) -> True 169.83/122.00 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.00 169.83/122.00 The set Q consists of the following terms: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.00 new_primMinusNatS1 169.83/122.00 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.00 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.00 new_primMinusNatS2(Zero, Zero) 169.83/122.00 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) 169.83/122.00 new_primMinusNatS0(x0) 169.83/122.00 new_esEs1(Pos(Zero)) 169.83/122.00 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.00 new_esEs1(Pos(Succ(x0))) 169.83/122.00 new_primModNatS1(Zero, x0) 169.83/122.00 new_primModNatS02(x0, x1) 169.83/122.00 new_esEs1(Neg(Succ(x0))) 169.83/122.00 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.00 new_esEs1(Neg(Zero)) 169.83/122.00 169.83/122.00 We have to consider all minimal (P,Q,R)-chains. 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (267) TransformationProof (EQUIVALENT) 169.83/122.00 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.00 169.83/122.00 (new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 169.83/122.00 169.83/122.00 169.83/122.00 ---------------------------------------- 169.83/122.00 169.83/122.00 (268) 169.83/122.00 Obligation: 169.83/122.00 Q DP problem: 169.83/122.00 The TRS P consists of the following rules: 169.83/122.00 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.00 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.00 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.00 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.00 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.00 169.83/122.00 The TRS R consists of the following rules: 169.83/122.00 169.83/122.00 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.00 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.00 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.00 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.00 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.00 new_esEs1(Neg(Zero)) -> True 169.83/122.00 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.00 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (269) TransformationProof (EQUIVALENT) 169.83/122.01 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(x0))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.01 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (270) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (271) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (272) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (273) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (274) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (275) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (276) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (277) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (278) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (279) DependencyGraphProof (EQUIVALENT) 169.83/122.01 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (280) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (281) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (282) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (283) TransformationProof (EQUIVALENT) 169.83/122.01 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (284) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (285) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (286) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (287) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (288) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (289) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (290) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (291) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (292) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (293) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (294) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (295) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (296) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (297) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (298) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (299) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (300) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (301) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (302) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (303) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (304) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (305) DependencyGraphProof (EQUIVALENT) 169.83/122.01 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (306) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (307) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (308) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (309) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (310) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (311) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (312) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 169.83/122.01 169.83/122.01 The TRS R consists of the following rules: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.01 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.01 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.01 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.01 new_esEs1(Neg(Zero)) -> True 169.83/122.01 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.01 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.01 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.01 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.01 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.01 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.01 new_primMinusNatS1 -> Zero 169.83/122.01 new_esEs1(Pos(Zero)) -> True 169.83/122.01 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.01 169.83/122.01 The set Q consists of the following terms: 169.83/122.01 169.83/122.01 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.01 new_primMinusNatS1 169.83/122.01 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.01 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.01 new_primMinusNatS2(Zero, Zero) 169.83/122.01 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.01 new_primModNatS1(Succ(Zero), Zero) 169.83/122.01 new_primMinusNatS0(x0) 169.83/122.01 new_esEs1(Pos(Zero)) 169.83/122.01 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.01 new_esEs1(Pos(Succ(x0))) 169.83/122.01 new_primModNatS1(Zero, x0) 169.83/122.01 new_primModNatS02(x0, x1) 169.83/122.01 new_esEs1(Neg(Succ(x0))) 169.83/122.01 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.01 new_esEs1(Neg(Zero)) 169.83/122.01 169.83/122.01 We have to consider all minimal (P,Q,R)-chains. 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (313) TransformationProof (EQUIVALENT) 169.83/122.01 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.01 169.83/122.01 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 169.83/122.01 169.83/122.01 169.83/122.01 ---------------------------------------- 169.83/122.01 169.83/122.01 (314) 169.83/122.01 Obligation: 169.83/122.01 Q DP problem: 169.83/122.01 The TRS P consists of the following rules: 169.83/122.01 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.01 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.01 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.01 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.01 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (315) TransformationProof (EQUIVALENT) 169.83/122.02 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (316) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (317) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (318) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (319) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (320) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (321) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (322) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (323) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (324) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (325) DependencyGraphProof (EQUIVALENT) 169.83/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (326) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (327) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (328) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (329) TransformationProof (EQUIVALENT) 169.83/122.02 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3))))) 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (330) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (331) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (332) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (333) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (334) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (335) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (336) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (337) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2))))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (338) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (339) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (340) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (341) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (342) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (343) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(new_primModNatS01(Zero, Succ(x2), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (344) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (345) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (346) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (347) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (348) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (349) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (350) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (351) DependencyGraphProof (EQUIVALENT) 169.83/122.02 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (352) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (353) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2), Zero, Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (354) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (355) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (356) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.02 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.02 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.02 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.02 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.02 new_primMinusNatS1 -> Zero 169.83/122.02 new_esEs1(Pos(Zero)) -> True 169.83/122.02 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.02 169.83/122.02 The set Q consists of the following terms: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.02 new_primMinusNatS1 169.83/122.02 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.02 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.02 new_primMinusNatS2(Zero, Zero) 169.83/122.02 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) 169.83/122.02 new_primMinusNatS0(x0) 169.83/122.02 new_esEs1(Pos(Zero)) 169.83/122.02 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.02 new_esEs1(Pos(Succ(x0))) 169.83/122.02 new_primModNatS1(Zero, x0) 169.83/122.02 new_primModNatS02(x0, x1) 169.83/122.02 new_esEs1(Neg(Succ(x0))) 169.83/122.02 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.02 new_esEs1(Neg(Zero)) 169.83/122.02 169.83/122.02 We have to consider all minimal (P,Q,R)-chains. 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (357) TransformationProof (EQUIVALENT) 169.83/122.02 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.02 169.83/122.02 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 169.83/122.02 169.83/122.02 169.83/122.02 ---------------------------------------- 169.83/122.02 169.83/122.02 (358) 169.83/122.02 Obligation: 169.83/122.02 Q DP problem: 169.83/122.02 The TRS P consists of the following rules: 169.83/122.02 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.02 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.02 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 169.83/122.02 169.83/122.02 The TRS R consists of the following rules: 169.83/122.02 169.83/122.02 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.02 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.02 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.02 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.02 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.02 new_esEs1(Neg(Zero)) -> True 169.83/122.02 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.02 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (359) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (360) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (361) TransformationProof (EQUIVALENT) 169.83/122.03 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(x0))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (362) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (363) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (364) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (365) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (366) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (367) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (368) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (369) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (370) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (371) DependencyGraphProof (EQUIVALENT) 169.83/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (372) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (373) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (374) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (375) TransformationProof (EQUIVALENT) 169.83/122.03 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (376) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (377) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (378) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (379) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (380) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (381) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (382) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (383) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (384) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (385) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (386) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (387) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (388) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (389) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (390) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (391) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (392) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (393) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (394) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (395) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (396) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (397) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (398) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (399) TransformationProof (EQUIVALENT) 169.83/122.03 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.03 169.83/122.03 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.03 169.83/122.03 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (400) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.03 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.03 169.83/122.03 The TRS R consists of the following rules: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.03 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.03 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.03 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.03 new_esEs1(Neg(Zero)) -> True 169.83/122.03 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.03 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.03 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.03 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.03 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.03 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.03 new_primMinusNatS1 -> Zero 169.83/122.03 new_esEs1(Pos(Zero)) -> True 169.83/122.03 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.03 169.83/122.03 The set Q consists of the following terms: 169.83/122.03 169.83/122.03 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.03 new_primMinusNatS1 169.83/122.03 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.03 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.03 new_primMinusNatS2(Zero, Zero) 169.83/122.03 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.03 new_primModNatS1(Succ(Zero), Zero) 169.83/122.03 new_primMinusNatS0(x0) 169.83/122.03 new_esEs1(Pos(Zero)) 169.83/122.03 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.03 new_esEs1(Pos(Succ(x0))) 169.83/122.03 new_primModNatS1(Zero, x0) 169.83/122.03 new_primModNatS02(x0, x1) 169.83/122.03 new_esEs1(Neg(Succ(x0))) 169.83/122.03 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.03 new_esEs1(Neg(Zero)) 169.83/122.03 169.83/122.03 We have to consider all minimal (P,Q,R)-chains. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (401) DependencyGraphProof (EQUIVALENT) 169.83/122.03 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.03 ---------------------------------------- 169.83/122.03 169.83/122.03 (402) 169.83/122.03 Obligation: 169.83/122.03 Q DP problem: 169.83/122.03 The TRS P consists of the following rules: 169.83/122.03 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.03 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.03 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (403) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (404) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (405) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (406) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (407) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (408) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (409) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (410) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (411) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (412) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (413) TransformationProof (EQUIVALENT) 169.83/122.04 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (414) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (415) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (416) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (417) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (418) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (419) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (420) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (421) TransformationProof (EQUIVALENT) 169.83/122.04 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (422) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (423) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (424) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (425) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (426) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (427) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (428) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (429) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (430) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (431) DependencyGraphProof (EQUIVALENT) 169.83/122.04 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (432) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (433) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (434) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (435) TransformationProof (EQUIVALENT) 169.83/122.04 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (436) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (437) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (438) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (439) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (440) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (441) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (442) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.04 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.04 169.83/122.04 The TRS R consists of the following rules: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.04 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.04 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.04 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.04 new_esEs1(Neg(Zero)) -> True 169.83/122.04 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.04 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.04 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.04 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.04 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.04 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.04 new_primMinusNatS1 -> Zero 169.83/122.04 new_esEs1(Pos(Zero)) -> True 169.83/122.04 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.04 169.83/122.04 The set Q consists of the following terms: 169.83/122.04 169.83/122.04 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.04 new_primMinusNatS1 169.83/122.04 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.04 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.04 new_primMinusNatS2(Zero, Zero) 169.83/122.04 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.04 new_primModNatS1(Succ(Zero), Zero) 169.83/122.04 new_primMinusNatS0(x0) 169.83/122.04 new_esEs1(Pos(Zero)) 169.83/122.04 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.04 new_esEs1(Pos(Succ(x0))) 169.83/122.04 new_primModNatS1(Zero, x0) 169.83/122.04 new_primModNatS02(x0, x1) 169.83/122.04 new_esEs1(Neg(Succ(x0))) 169.83/122.04 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.04 new_esEs1(Neg(Zero)) 169.83/122.04 169.83/122.04 We have to consider all minimal (P,Q,R)-chains. 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (443) TransformationProof (EQUIVALENT) 169.83/122.04 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.04 169.83/122.04 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.04 169.83/122.04 169.83/122.04 ---------------------------------------- 169.83/122.04 169.83/122.04 (444) 169.83/122.04 Obligation: 169.83/122.04 Q DP problem: 169.83/122.04 The TRS P consists of the following rules: 169.83/122.04 169.83/122.04 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.04 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (445) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (446) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (447) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (448) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (449) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (450) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (451) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (452) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (453) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (454) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (455) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (456) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (457) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (458) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (459) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (460) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (461) DependencyGraphProof (EQUIVALENT) 169.83/122.05 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (462) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (463) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (464) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (465) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (466) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (467) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (468) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (469) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (470) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (471) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (472) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (473) TransformationProof (EQUIVALENT) 169.83/122.05 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (474) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (475) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (476) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (477) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (478) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (479) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (480) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (481) TransformationProof (EQUIVALENT) 169.83/122.05 By narrowing [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (482) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.05 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.05 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.05 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.05 new_primMinusNatS1 -> Zero 169.83/122.05 new_esEs1(Pos(Zero)) -> True 169.83/122.05 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.05 169.83/122.05 The set Q consists of the following terms: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.05 new_primMinusNatS1 169.83/122.05 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.05 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.05 new_primMinusNatS2(Zero, Zero) 169.83/122.05 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) 169.83/122.05 new_primMinusNatS0(x0) 169.83/122.05 new_esEs1(Pos(Zero)) 169.83/122.05 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.05 new_esEs1(Pos(Succ(x0))) 169.83/122.05 new_primModNatS1(Zero, x0) 169.83/122.05 new_primModNatS02(x0, x1) 169.83/122.05 new_esEs1(Neg(Succ(x0))) 169.83/122.05 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.05 new_esEs1(Neg(Zero)) 169.83/122.05 169.83/122.05 We have to consider all minimal (P,Q,R)-chains. 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (483) TransformationProof (EQUIVALENT) 169.83/122.05 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.05 169.83/122.05 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.05 169.83/122.05 169.83/122.05 ---------------------------------------- 169.83/122.05 169.83/122.05 (484) 169.83/122.05 Obligation: 169.83/122.05 Q DP problem: 169.83/122.05 The TRS P consists of the following rules: 169.83/122.05 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.05 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.05 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.05 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.05 169.83/122.05 The TRS R consists of the following rules: 169.83/122.05 169.83/122.05 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.05 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.05 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.05 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.05 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.05 new_esEs1(Neg(Zero)) -> True 169.83/122.05 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.05 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.05 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (485) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (486) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (487) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (488) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (489) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (490) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Pos(Zero)), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (491) DependencyGraphProof (EQUIVALENT) 169.83/122.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (492) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (493) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (494) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (495) TransformationProof (EQUIVALENT) 169.83/122.06 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (496) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (497) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (498) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (499) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (500) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (501) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (502) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (503) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (504) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (505) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (506) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (507) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (508) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (509) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (510) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (511) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (512) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (513) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (514) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (515) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (516) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (517) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (518) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (519) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (520) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (521) DependencyGraphProof (EQUIVALENT) 169.83/122.06 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (522) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.06 169.83/122.06 The TRS R consists of the following rules: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.06 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.06 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.06 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.06 new_esEs1(Neg(Zero)) -> True 169.83/122.06 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.06 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.06 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.06 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.06 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.06 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.06 new_primMinusNatS1 -> Zero 169.83/122.06 new_esEs1(Pos(Zero)) -> True 169.83/122.06 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.06 169.83/122.06 The set Q consists of the following terms: 169.83/122.06 169.83/122.06 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.06 new_primMinusNatS1 169.83/122.06 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.06 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.06 new_primMinusNatS2(Zero, Zero) 169.83/122.06 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.06 new_primModNatS1(Succ(Zero), Zero) 169.83/122.06 new_primMinusNatS0(x0) 169.83/122.06 new_esEs1(Pos(Zero)) 169.83/122.06 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.06 new_esEs1(Pos(Succ(x0))) 169.83/122.06 new_primModNatS1(Zero, x0) 169.83/122.06 new_primModNatS02(x0, x1) 169.83/122.06 new_esEs1(Neg(Succ(x0))) 169.83/122.06 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.06 new_esEs1(Neg(Zero)) 169.83/122.06 169.83/122.06 We have to consider all minimal (P,Q,R)-chains. 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (523) TransformationProof (EQUIVALENT) 169.83/122.06 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.06 169.83/122.06 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 169.83/122.06 169.83/122.06 169.83/122.06 ---------------------------------------- 169.83/122.06 169.83/122.06 (524) 169.83/122.06 Obligation: 169.83/122.06 Q DP problem: 169.83/122.06 The TRS P consists of the following rules: 169.83/122.06 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.06 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.06 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.06 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (525) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (526) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (527) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (528) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (529) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (530) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (531) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (532) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (533) TransformationProof (EQUIVALENT) 169.83/122.07 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (534) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (535) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (536) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (537) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (538) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (539) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (540) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (541) TransformationProof (EQUIVALENT) 169.83/122.07 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (542) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (543) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (544) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (545) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (546) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (547) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (548) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (549) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (550) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (551) DependencyGraphProof (EQUIVALENT) 169.83/122.07 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (552) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (553) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (554) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (555) TransformationProof (EQUIVALENT) 169.83/122.07 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3))))) 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (556) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (557) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (558) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (559) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), Succ(x2), Succ(x3)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (560) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (561) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.07 169.83/122.07 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.07 169.83/122.07 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (562) 169.83/122.07 Obligation: 169.83/122.07 Q DP problem: 169.83/122.07 The TRS P consists of the following rules: 169.83/122.07 169.83/122.07 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.07 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.07 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.07 169.83/122.07 The TRS R consists of the following rules: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.07 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.07 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.07 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.07 new_esEs1(Neg(Zero)) -> True 169.83/122.07 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.07 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.07 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.07 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.07 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.07 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.07 new_primMinusNatS1 -> Zero 169.83/122.07 new_esEs1(Pos(Zero)) -> True 169.83/122.07 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.07 169.83/122.07 The set Q consists of the following terms: 169.83/122.07 169.83/122.07 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.07 new_primMinusNatS1 169.83/122.07 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.07 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.07 new_primMinusNatS2(Zero, Zero) 169.83/122.07 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.07 new_primModNatS1(Succ(Zero), Zero) 169.83/122.07 new_primMinusNatS0(x0) 169.83/122.07 new_esEs1(Pos(Zero)) 169.83/122.07 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.07 new_esEs1(Pos(Succ(x0))) 169.83/122.07 new_primModNatS1(Zero, x0) 169.83/122.07 new_primModNatS02(x0, x1) 169.83/122.07 new_esEs1(Neg(Succ(x0))) 169.83/122.07 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.07 new_esEs1(Neg(Zero)) 169.83/122.07 169.83/122.07 We have to consider all minimal (P,Q,R)-chains. 169.83/122.07 ---------------------------------------- 169.83/122.07 169.83/122.07 (563) TransformationProof (EQUIVALENT) 169.83/122.07 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (564) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (565) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (566) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (567) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (568) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (569) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Zero), Succ(Succ(x2)), Zero, Succ(x2)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (570) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (571) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (572) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (573) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (574) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (575) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (576) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (577) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (578) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (579) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (580) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Zero), Succ(Zero), Zero, Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (581) DependencyGraphProof (EQUIVALENT) 169.83/122.08 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (582) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (583) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Zero), Succ(x2), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (584) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (585) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (586) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (587) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (588) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (589) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (590) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (591) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (592) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (593) TransformationProof (EQUIVALENT) 169.83/122.08 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (594) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (595) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero))))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (596) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (597) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Succ(x0)), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (598) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (599) TransformationProof (EQUIVALENT) 169.83/122.08 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(Zero), Succ(Zero)))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.08 169.83/122.08 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 169.83/122.08 169.83/122.08 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (600) 169.83/122.08 Obligation: 169.83/122.08 Q DP problem: 169.83/122.08 The TRS P consists of the following rules: 169.83/122.08 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.08 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.08 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.08 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.08 169.83/122.08 The TRS R consists of the following rules: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.08 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.08 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.08 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.08 new_esEs1(Neg(Zero)) -> True 169.83/122.08 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.08 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.08 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.08 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.08 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.08 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.08 new_primMinusNatS1 -> Zero 169.83/122.08 new_esEs1(Pos(Zero)) -> True 169.83/122.08 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.08 169.83/122.08 The set Q consists of the following terms: 169.83/122.08 169.83/122.08 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.08 new_primMinusNatS1 169.83/122.08 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.08 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.08 new_primMinusNatS2(Zero, Zero) 169.83/122.08 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.08 new_primModNatS1(Succ(Zero), Zero) 169.83/122.08 new_primMinusNatS0(x0) 169.83/122.08 new_esEs1(Pos(Zero)) 169.83/122.08 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.08 new_esEs1(Pos(Succ(x0))) 169.83/122.08 new_primModNatS1(Zero, x0) 169.83/122.08 new_primModNatS02(x0, x1) 169.83/122.08 new_esEs1(Neg(Succ(x0))) 169.83/122.08 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.08 new_esEs1(Neg(Zero)) 169.83/122.08 169.83/122.08 We have to consider all minimal (P,Q,R)-chains. 169.83/122.08 ---------------------------------------- 169.83/122.08 169.83/122.08 (601) TransformationProof (EQUIVALENT) 169.83/122.08 By narrowing [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1] we obtained the following new rules [LPAR04]: 169.83/122.09 169.83/122.09 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.09 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.09 169.83/122.09 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (602) 169.83/122.09 Obligation: 169.83/122.09 Q DP problem: 169.83/122.09 The TRS P consists of the following rules: 169.83/122.09 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.09 169.83/122.09 The TRS R consists of the following rules: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_esEs1(Neg(Zero)) -> True 169.83/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.09 new_primMinusNatS1 -> Zero 169.83/122.09 new_esEs1(Pos(Zero)) -> True 169.83/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.09 169.83/122.09 The set Q consists of the following terms: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.09 new_primMinusNatS1 169.83/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.09 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Zero, Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) 169.83/122.09 new_primMinusNatS0(x0) 169.83/122.09 new_esEs1(Pos(Zero)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.09 new_esEs1(Pos(Succ(x0))) 169.83/122.09 new_primModNatS1(Zero, x0) 169.83/122.09 new_primModNatS02(x0, x1) 169.83/122.09 new_esEs1(Neg(Succ(x0))) 169.83/122.09 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.09 new_esEs1(Neg(Zero)) 169.83/122.09 169.83/122.09 We have to consider all minimal (P,Q,R)-chains. 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (603) TransformationProof (EQUIVALENT) 169.83/122.09 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.09 169.83/122.09 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero)))) 169.83/122.09 169.83/122.09 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (604) 169.83/122.09 Obligation: 169.83/122.09 Q DP problem: 169.83/122.09 The TRS P consists of the following rules: 169.83/122.09 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.09 169.83/122.09 The TRS R consists of the following rules: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_esEs1(Neg(Zero)) -> True 169.83/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.09 new_primMinusNatS1 -> Zero 169.83/122.09 new_esEs1(Pos(Zero)) -> True 169.83/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.09 169.83/122.09 The set Q consists of the following terms: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.09 new_primMinusNatS1 169.83/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.09 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Zero, Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) 169.83/122.09 new_primMinusNatS0(x0) 169.83/122.09 new_esEs1(Pos(Zero)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.09 new_esEs1(Pos(Succ(x0))) 169.83/122.09 new_primModNatS1(Zero, x0) 169.83/122.09 new_primModNatS02(x0, x1) 169.83/122.09 new_esEs1(Neg(Succ(x0))) 169.83/122.09 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.09 new_esEs1(Neg(Zero)) 169.83/122.09 169.83/122.09 We have to consider all minimal (P,Q,R)-chains. 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (605) TransformationProof (EQUIVALENT) 169.83/122.09 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0,0] we obtained the following new rules [LPAR04]: 169.83/122.09 169.83/122.09 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.09 169.83/122.09 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (606) 169.83/122.09 Obligation: 169.83/122.09 Q DP problem: 169.83/122.09 The TRS P consists of the following rules: 169.83/122.09 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.09 169.83/122.09 The TRS R consists of the following rules: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_esEs1(Neg(Zero)) -> True 169.83/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.09 new_primMinusNatS1 -> Zero 169.83/122.09 new_esEs1(Pos(Zero)) -> True 169.83/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.09 169.83/122.09 The set Q consists of the following terms: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.09 new_primMinusNatS1 169.83/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.09 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Zero, Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) 169.83/122.09 new_primMinusNatS0(x0) 169.83/122.09 new_esEs1(Pos(Zero)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.09 new_esEs1(Pos(Succ(x0))) 169.83/122.09 new_primModNatS1(Zero, x0) 169.83/122.09 new_primModNatS02(x0, x1) 169.83/122.09 new_esEs1(Neg(Succ(x0))) 169.83/122.09 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.09 new_esEs1(Neg(Zero)) 169.83/122.09 169.83/122.09 We have to consider all minimal (P,Q,R)-chains. 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (607) TransformationProof (EQUIVALENT) 169.83/122.09 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Succ(x0)), Zero))) at position [3,0] we obtained the following new rules [LPAR04]: 169.83/122.09 169.83/122.09 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 169.83/122.09 169.83/122.09 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (608) 169.83/122.09 Obligation: 169.83/122.09 Q DP problem: 169.83/122.09 The TRS P consists of the following rules: 169.83/122.09 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.09 169.83/122.09 The TRS R consists of the following rules: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_esEs1(Neg(Zero)) -> True 169.83/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.09 new_primMinusNatS1 -> Zero 169.83/122.09 new_esEs1(Pos(Zero)) -> True 169.83/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.09 169.83/122.09 The set Q consists of the following terms: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.09 new_primMinusNatS1 169.83/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.09 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Zero, Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) 169.83/122.09 new_primMinusNatS0(x0) 169.83/122.09 new_esEs1(Pos(Zero)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.09 new_esEs1(Pos(Succ(x0))) 169.83/122.09 new_primModNatS1(Zero, x0) 169.83/122.09 new_primModNatS02(x0, x1) 169.83/122.09 new_esEs1(Neg(Succ(x0))) 169.83/122.09 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.09 new_esEs1(Neg(Zero)) 169.83/122.09 169.83/122.09 We have to consider all minimal (P,Q,R)-chains. 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (609) TransformationProof (EQUIVALENT) 169.83/122.09 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Zero, Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 169.83/122.09 169.83/122.09 (new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero)))) 169.83/122.09 169.83/122.09 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (610) 169.83/122.09 Obligation: 169.83/122.09 Q DP problem: 169.83/122.09 The TRS P consists of the following rules: 169.83/122.09 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, new_esEs1(Neg(Zero)), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(Zero), Zero))) 169.83/122.09 169.83/122.09 The TRS R consists of the following rules: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_esEs1(Neg(Zero)) -> True 169.83/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.09 new_primMinusNatS1 -> Zero 169.83/122.09 new_esEs1(Pos(Zero)) -> True 169.83/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.09 169.83/122.09 The set Q consists of the following terms: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.09 new_primMinusNatS1 169.83/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.09 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Zero, Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) 169.83/122.09 new_primMinusNatS0(x0) 169.83/122.09 new_esEs1(Pos(Zero)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.09 new_esEs1(Pos(Succ(x0))) 169.83/122.09 new_primModNatS1(Zero, x0) 169.83/122.09 new_primModNatS02(x0, x1) 169.83/122.09 new_esEs1(Neg(Succ(x0))) 169.83/122.09 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.09 new_esEs1(Neg(Zero)) 169.83/122.09 169.83/122.09 We have to consider all minimal (P,Q,R)-chains. 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (611) DependencyGraphProof (EQUIVALENT) 169.83/122.09 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (612) 169.83/122.09 Obligation: 169.83/122.09 Q DP problem: 169.83/122.09 The TRS P consists of the following rules: 169.83/122.09 169.83/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 169.83/122.09 169.83/122.09 The TRS R consists of the following rules: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_esEs1(Neg(Zero)) -> True 169.83/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.09 new_primMinusNatS1 -> Zero 169.83/122.09 new_esEs1(Pos(Zero)) -> True 169.83/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.09 169.83/122.09 The set Q consists of the following terms: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.09 new_primMinusNatS1 169.83/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.09 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Zero, Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) 169.83/122.09 new_primMinusNatS0(x0) 169.83/122.09 new_esEs1(Pos(Zero)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 169.83/122.09 new_esEs1(Pos(Succ(x0))) 169.83/122.09 new_primModNatS1(Zero, x0) 169.83/122.09 new_primModNatS02(x0, x1) 169.83/122.09 new_esEs1(Neg(Succ(x0))) 169.83/122.09 new_primModNatS01(x0, x1, Zero, Zero) 169.83/122.09 new_esEs1(Neg(Zero)) 169.83/122.09 169.83/122.09 We have to consider all minimal (P,Q,R)-chains. 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (613) TransformationProof (EQUIVALENT) 169.83/122.09 By rewriting [LPAR04] the rule new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [3,0,0] we obtained the following new rules [LPAR04]: 169.83/122.09 169.83/122.09 (new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 169.83/122.09 169.83/122.09 169.83/122.09 ---------------------------------------- 169.83/122.09 169.83/122.09 (614) 169.83/122.09 Obligation: 169.83/122.09 Q DP problem: 169.83/122.09 The TRS P consists of the following rules: 169.83/122.09 169.83/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 169.83/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 169.83/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 169.83/122.09 169.83/122.09 The TRS R consists of the following rules: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 169.83/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 169.83/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 169.83/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 169.83/122.09 new_esEs1(Neg(Zero)) -> True 169.83/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 169.83/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 169.83/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 169.83/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 169.83/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 169.83/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 169.83/122.09 new_primMinusNatS1 -> Zero 169.83/122.09 new_esEs1(Pos(Zero)) -> True 169.83/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 169.83/122.09 169.83/122.09 The set Q consists of the following terms: 169.83/122.09 169.83/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 169.83/122.09 new_primMinusNatS1 169.83/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 169.83/122.09 new_primMinusNatS2(Zero, Succ(x0)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 169.83/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 169.83/122.09 new_primMinusNatS2(Zero, Zero) 169.83/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 169.83/122.09 new_primModNatS1(Succ(Zero), Zero) 170.04/122.09 new_primMinusNatS0(x0) 170.04/122.09 new_esEs1(Pos(Zero)) 170.04/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 170.04/122.09 new_esEs1(Pos(Succ(x0))) 170.04/122.09 new_primModNatS1(Zero, x0) 170.04/122.09 new_primModNatS02(x0, x1) 170.04/122.09 new_esEs1(Neg(Succ(x0))) 170.04/122.09 new_primModNatS01(x0, x1, Zero, Zero) 170.04/122.09 new_esEs1(Neg(Zero)) 170.04/122.09 170.04/122.09 We have to consider all minimal (P,Q,R)-chains. 170.04/122.09 ---------------------------------------- 170.04/122.09 170.04/122.09 (615) QDPOrderProof (EQUIVALENT) 170.04/122.09 We use the reduction pair processor [LPAR04,JAR06]. 170.04/122.09 170.04/122.09 170.04/122.09 The following pairs can be oriented strictly and are deleted. 170.04/122.09 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.04/122.09 The remaining pairs can at least be oriented weakly. 170.04/122.09 Used ordering: Polynomial interpretation [POLO]: 170.04/122.09 170.04/122.09 POL(False) = 1 170.04/122.09 POL(Neg(x_1)) = 1 170.04/122.09 POL(Pos(x_1)) = x_1 170.04/122.09 POL(Succ(x_1)) = 1 170.04/122.09 POL(True) = 0 170.04/122.09 POL(Zero) = 0 170.04/122.09 POL(new_esEs1(x_1)) = x_1 170.04/122.09 POL(new_primMinusNatS0(x_1)) = 1 + x_1 170.04/122.09 POL(new_primMinusNatS1) = 1 170.04/122.09 POL(new_primMinusNatS2(x_1, x_2)) = 0 170.04/122.09 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 170.04/122.09 POL(new_primModNatS02(x_1, x_2)) = 1 170.04/122.09 POL(new_primModNatS1(x_1, x_2)) = x_2 170.04/122.09 POL(new_quot(x_1, x_2, x_3, x_4)) = x_2 170.04/122.09 POL(new_quot0(x_1, x_2, x_3, x_4)) = 1 170.04/122.09 170.04/122.09 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 170.04/122.09 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.04/122.09 new_esEs1(Pos(Zero)) -> True 170.04/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 170.04/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.04/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.04/122.09 new_esEs1(Neg(Zero)) -> True 170.04/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 170.04/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 170.04/122.09 170.04/122.09 170.04/122.09 ---------------------------------------- 170.04/122.09 170.04/122.09 (616) 170.04/122.09 Obligation: 170.04/122.09 Q DP problem: 170.04/122.09 The TRS P consists of the following rules: 170.04/122.09 170.04/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 170.04/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.04/122.09 170.04/122.09 The TRS R consists of the following rules: 170.04/122.09 170.04/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.04/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.04/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_esEs1(Neg(Zero)) -> True 170.04/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.04/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.04/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 170.04/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.04/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.04/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.04/122.09 new_primMinusNatS1 -> Zero 170.04/122.09 new_esEs1(Pos(Zero)) -> True 170.04/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 170.04/122.09 170.04/122.09 The set Q consists of the following terms: 170.04/122.09 170.04/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 170.04/122.09 new_primMinusNatS1 170.04/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.04/122.09 new_primMinusNatS2(Zero, Succ(x0)) 170.04/122.09 new_primMinusNatS2(Succ(x0), Zero) 170.04/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.04/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.04/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.04/122.09 new_primMinusNatS2(Zero, Zero) 170.04/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.04/122.09 new_primModNatS1(Succ(Zero), Zero) 170.04/122.09 new_primMinusNatS0(x0) 170.04/122.09 new_esEs1(Pos(Zero)) 170.04/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 170.04/122.09 new_esEs1(Pos(Succ(x0))) 170.04/122.09 new_primModNatS1(Zero, x0) 170.04/122.09 new_primModNatS02(x0, x1) 170.04/122.09 new_esEs1(Neg(Succ(x0))) 170.04/122.09 new_primModNatS01(x0, x1, Zero, Zero) 170.04/122.09 new_esEs1(Neg(Zero)) 170.04/122.09 170.04/122.09 We have to consider all minimal (P,Q,R)-chains. 170.04/122.09 ---------------------------------------- 170.04/122.09 170.04/122.09 (617) QDPOrderProof (EQUIVALENT) 170.04/122.09 We use the reduction pair processor [LPAR04,JAR06]. 170.04/122.09 170.04/122.09 170.04/122.09 The following pairs can be oriented strictly and are deleted. 170.04/122.09 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.04/122.09 The remaining pairs can at least be oriented weakly. 170.04/122.09 Used ordering: Polynomial interpretation [POLO]: 170.04/122.09 170.04/122.09 POL(False) = 1 170.04/122.09 POL(Neg(x_1)) = x_1 170.04/122.09 POL(Pos(x_1)) = 1 170.04/122.09 POL(Succ(x_1)) = 1 170.04/122.09 POL(True) = 0 170.04/122.09 POL(Zero) = 0 170.04/122.09 POL(new_esEs1(x_1)) = x_1 170.04/122.09 POL(new_primMinusNatS0(x_1)) = 1 + x_1 170.04/122.09 POL(new_primMinusNatS1) = 1 170.04/122.09 POL(new_primMinusNatS2(x_1, x_2)) = 0 170.04/122.09 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 1 170.04/122.09 POL(new_primModNatS02(x_1, x_2)) = 1 170.04/122.09 POL(new_primModNatS1(x_1, x_2)) = x_2 170.04/122.09 POL(new_quot(x_1, x_2, x_3, x_4)) = x_2 170.04/122.09 POL(new_quot0(x_1, x_2, x_3, x_4)) = 1 170.04/122.09 170.04/122.09 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 170.04/122.09 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.04/122.09 new_esEs1(Pos(Zero)) -> True 170.04/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 170.04/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.04/122.09 new_esEs1(Neg(Zero)) -> True 170.04/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 170.04/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.04/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 170.04/122.09 170.04/122.09 170.04/122.09 ---------------------------------------- 170.04/122.09 170.04/122.09 (618) 170.04/122.09 Obligation: 170.04/122.09 Q DP problem: 170.04/122.09 The TRS P consists of the following rules: 170.04/122.09 170.04/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 170.04/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.04/122.09 170.04/122.09 The TRS R consists of the following rules: 170.04/122.09 170.04/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.04/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.04/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_esEs1(Neg(Zero)) -> True 170.04/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.04/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.04/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 170.04/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.04/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.04/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.04/122.09 new_primMinusNatS1 -> Zero 170.04/122.09 new_esEs1(Pos(Zero)) -> True 170.04/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 170.04/122.09 170.04/122.09 The set Q consists of the following terms: 170.04/122.09 170.04/122.09 new_primModNatS1(Succ(Zero), Succ(x0)) 170.04/122.09 new_primMinusNatS1 170.04/122.09 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.04/122.09 new_primMinusNatS2(Zero, Succ(x0)) 170.04/122.09 new_primMinusNatS2(Succ(x0), Zero) 170.04/122.09 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.04/122.09 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.04/122.09 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.04/122.09 new_primMinusNatS2(Zero, Zero) 170.04/122.09 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.04/122.09 new_primModNatS1(Succ(Zero), Zero) 170.04/122.09 new_primMinusNatS0(x0) 170.04/122.09 new_esEs1(Pos(Zero)) 170.04/122.09 new_primModNatS1(Succ(Succ(x0)), Zero) 170.04/122.09 new_esEs1(Pos(Succ(x0))) 170.04/122.09 new_primModNatS1(Zero, x0) 170.04/122.09 new_primModNatS02(x0, x1) 170.04/122.09 new_esEs1(Neg(Succ(x0))) 170.04/122.09 new_primModNatS01(x0, x1, Zero, Zero) 170.04/122.09 new_esEs1(Neg(Zero)) 170.04/122.09 170.04/122.09 We have to consider all minimal (P,Q,R)-chains. 170.04/122.09 ---------------------------------------- 170.04/122.09 170.04/122.09 (619) MNOCProof (EQUIVALENT) 170.04/122.09 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 170.04/122.09 ---------------------------------------- 170.04/122.09 170.04/122.09 (620) 170.04/122.09 Obligation: 170.04/122.09 Q DP problem: 170.04/122.09 The TRS P consists of the following rules: 170.04/122.09 170.04/122.09 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 170.04/122.09 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.04/122.09 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.04/122.09 170.04/122.09 The TRS R consists of the following rules: 170.04/122.09 170.04/122.09 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.04/122.09 new_primModNatS1(Zero, vuz4500) -> Zero 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.04/122.09 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.04/122.09 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.04/122.09 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.04/122.09 new_esEs1(Neg(Zero)) -> True 170.04/122.09 new_esEs1(Neg(Succ(vuz1700))) -> False 170.04/122.09 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.04/122.09 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.04/122.09 new_primMinusNatS2(Zero, Zero) -> Zero 170.04/122.09 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.04/122.09 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.04/122.09 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.04/122.09 new_primMinusNatS1 -> Zero 170.04/122.09 new_esEs1(Pos(Zero)) -> True 170.04/122.09 new_esEs1(Pos(Succ(vuz1700))) -> False 170.04/122.09 170.04/122.09 Q is empty. 170.04/122.09 We have to consider all (P,Q,R)-chains. 170.04/122.09 ---------------------------------------- 170.04/122.09 170.04/122.09 (621) InductionCalculusProof (EQUIVALENT) 170.04/122.09 Note that final constraints are written in bold face. 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) the following chains were created: 170.04/122.09 *We consider the chain new_quot(x3, False, x4, x5) -> new_quot0(x3, x4, x5, x4), new_quot0(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero))) -> new_quot(x6, False, Neg(Succ(Succ(x7))), Pos(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x3, x4, x5, x4)=new_quot0(x6, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero))) ==> new_quot(x3, False, x4, x5)_>=_new_quot0(x3, x4, x5, x4)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot0(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x8, False, x9, x10) -> new_quot0(x8, x9, x10, x9), new_quot0(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero))) -> new_quot(x11, False, Pos(Succ(Succ(x12))), Pos(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x8, x9, x10, x9)=new_quot0(x11, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero))) ==> new_quot(x8, False, x9, x10)_>=_new_quot0(x8, x9, x10, x9)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot0(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x13, False, x14, x15) -> new_quot0(x13, x14, x15, x14), new_quot0(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero))) -> new_quot(x16, False, Pos(Succ(Succ(x17))), Neg(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x13, x14, x15, x14)=new_quot0(x16, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero))) ==> new_quot(x13, False, x14, x15)_>=_new_quot0(x13, x14, x15, x14)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot0(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x18, False, x19, x20) -> new_quot0(x18, x19, x20, x19), new_quot0(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero))) -> new_quot(x21, False, Neg(Succ(Succ(x22))), Neg(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x18, x19, x20, x19)=new_quot0(x21, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero))) ==> new_quot(x18, False, x19, x20)_>=_new_quot0(x18, x19, x20, x19)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot0(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x23, False, x24, x25) -> new_quot0(x23, x24, x25, x24), new_quot0(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) -> new_quot(x26, False, Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x23, x24, x25, x24)=new_quot0(x26, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero)))) ==> new_quot(x23, False, x24, x25)_>=_new_quot0(x23, x24, x25, x24)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot0(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x28, False, x29, x30) -> new_quot0(x28, x29, x30, x29), new_quot0(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) -> new_quot(x31, False, Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x28, x29, x30, x29)=new_quot0(x31, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero)))) ==> new_quot(x28, False, x29, x30)_>=_new_quot0(x28, x29, x30, x29)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot0(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x33, False, x34, x35) -> new_quot0(x33, x34, x35, x34), new_quot0(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) -> new_quot(x36, False, Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x33, x34, x35, x34)=new_quot0(x36, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero)))) ==> new_quot(x33, False, x34, x35)_>=_new_quot0(x33, x34, x35, x34)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot0(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x38, False, x39, x40) -> new_quot0(x38, x39, x40, x39), new_quot0(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) -> new_quot(x41, False, Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x38, x39, x40, x39)=new_quot0(x41, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero)))) ==> new_quot(x38, False, x39, x40)_>=_new_quot0(x38, x39, x40, x39)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot0(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x43, False, x44, x45) -> new_quot0(x43, x44, x45, x44), new_quot0(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47)))))) -> new_quot(x46, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(new_primModNatS01(Succ(Succ(x47)), Succ(Succ(x48)), x47, x48))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x43, x44, x45, x44)=new_quot0(x46, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47)))))) ==> new_quot(x43, False, x44, x45)_>=_new_quot0(x43, x44, x45, x44)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot0(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x49, False, x50, x51) -> new_quot0(x49, x50, x51, x50), new_quot0(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x52, False, Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x49, x50, x51, x50)=new_quot0(x52, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot(x49, False, x50, x51)_>=_new_quot0(x49, x50, x51, x50)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot0(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x54, False, x55, x56) -> new_quot0(x54, x55, x56, x55), new_quot0(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58)))))) -> new_quot(x57, new_esEs1(Pos(new_primModNatS1(Succ(x58), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x58), Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x54, x55, x56, x55)=new_quot0(x57, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58)))))) ==> new_quot(x54, False, x55, x56)_>=_new_quot0(x54, x55, x56, x55)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x59, False, x60, x61) -> new_quot0(x59, x60, x61, x60), new_quot0(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63)))))) -> new_quot(x62, new_esEs1(Pos(new_primModNatS01(x63, Zero, x63, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x63, Zero, x63, Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x59, x60, x61, x60)=new_quot0(x62, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63)))))) ==> new_quot(x59, False, x60, x61)_>=_new_quot0(x59, x60, x61, x60)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x64, False, x65, x66) -> new_quot0(x64, x65, x66, x65), new_quot0(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x67, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x64, x65, x66, x65)=new_quot0(x67, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot(x64, False, x65, x66)_>=_new_quot0(x64, x65, x66, x65)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x68, False, x69, x70) -> new_quot0(x68, x69, x70, x69), new_quot0(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72)))))) -> new_quot(x71, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x72)), Succ(Succ(x73)), x72, x73))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(new_primModNatS01(Succ(Succ(x72)), Succ(Succ(x73)), x72, x73))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x68, x69, x70, x69)=new_quot0(x71, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72)))))) ==> new_quot(x68, False, x69, x70)_>=_new_quot0(x68, x69, x70, x69)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot0(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x74, False, x75, x76) -> new_quot0(x74, x75, x76, x75), new_quot0(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x77, False, Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x74, x75, x76, x75)=new_quot0(x77, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot(x74, False, x75, x76)_>=_new_quot0(x74, x75, x76, x75)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot0(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x79, False, x80, x81) -> new_quot0(x79, x80, x81, x80), new_quot0(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83)))))) -> new_quot(x82, new_esEs1(Pos(new_primModNatS1(Succ(x83), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x83), Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x79, x80, x81, x80)=new_quot0(x82, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83)))))) ==> new_quot(x79, False, x80, x81)_>=_new_quot0(x79, x80, x81, x80)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x84, False, x85, x86) -> new_quot0(x84, x85, x86, x85), new_quot0(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88)))))) -> new_quot(x87, new_esEs1(Pos(new_primModNatS01(x88, Zero, x88, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x88, Zero, x88, Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x84, x85, x86, x85)=new_quot0(x87, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88)))))) ==> new_quot(x84, False, x85, x86)_>=_new_quot0(x84, x85, x86, x85)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x89, False, x90, x91) -> new_quot0(x89, x90, x91, x90), new_quot0(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x92, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x89, x90, x91, x90)=new_quot0(x92, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) ==> new_quot(x89, False, x90, x91)_>=_new_quot0(x89, x90, x91, x90)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x93, False, x94, x95) -> new_quot0(x93, x94, x95, x94), new_quot0(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97)))))) -> new_quot(x96, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x97)), Succ(Succ(x98)), x97, x98))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(new_primModNatS01(Succ(Succ(x97)), Succ(Succ(x98)), x97, x98))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x93, x94, x95, x94)=new_quot0(x96, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97)))))) ==> new_quot(x93, False, x94, x95)_>=_new_quot0(x93, x94, x95, x94)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot0(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x99, False, x100, x101) -> new_quot0(x99, x100, x101, x100), new_quot0(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x102, False, Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x99, x100, x101, x100)=new_quot0(x102, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot(x99, False, x100, x101)_>=_new_quot0(x99, x100, x101, x100)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot0(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x104, False, x105, x106) -> new_quot0(x104, x105, x106, x105), new_quot0(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108)))))) -> new_quot(x107, new_esEs1(Neg(new_primModNatS1(Succ(x108), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x108), Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x104, x105, x106, x105)=new_quot0(x107, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108)))))) ==> new_quot(x104, False, x105, x106)_>=_new_quot0(x104, x105, x106, x105)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x109, False, x110, x111) -> new_quot0(x109, x110, x111, x110), new_quot0(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113)))))) -> new_quot(x112, new_esEs1(Neg(new_primModNatS01(x113, Zero, x113, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x113, Zero, x113, Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x109, x110, x111, x110)=new_quot0(x112, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113)))))) ==> new_quot(x109, False, x110, x111)_>=_new_quot0(x109, x110, x111, x110)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x114, False, x115, x116) -> new_quot0(x114, x115, x116, x115), new_quot0(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x117, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x114, x115, x116, x115)=new_quot0(x117, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot(x114, False, x115, x116)_>=_new_quot0(x114, x115, x116, x115)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x118, False, x119, x120) -> new_quot0(x118, x119, x120, x119), new_quot0(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122)))))) -> new_quot(x121, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x122)), Succ(Succ(x123)), x122, x123))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(new_primModNatS01(Succ(Succ(x122)), Succ(Succ(x123)), x122, x123))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x118, x119, x120, x119)=new_quot0(x121, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122)))))) ==> new_quot(x118, False, x119, x120)_>=_new_quot0(x118, x119, x120, x119)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot0(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x124, False, x125, x126) -> new_quot0(x124, x125, x126, x125), new_quot0(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x127, False, Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x124, x125, x126, x125)=new_quot0(x127, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot(x124, False, x125, x126)_>=_new_quot0(x124, x125, x126, x125)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot0(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x129, False, x130, x131) -> new_quot0(x129, x130, x131, x130), new_quot0(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133)))))) -> new_quot(x132, new_esEs1(Neg(new_primModNatS1(Succ(x133), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x133), Succ(Succ(Zero))))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x129, x130, x131, x130)=new_quot0(x132, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133)))))) ==> new_quot(x129, False, x130, x131)_>=_new_quot0(x129, x130, x131, x130)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x134, False, x135, x136) -> new_quot0(x134, x135, x136, x135), new_quot0(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138)))))) -> new_quot(x137, new_esEs1(Neg(new_primModNatS01(x138, Zero, x138, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x138, Zero, x138, Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x134, x135, x136, x135)=new_quot0(x137, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138)))))) ==> new_quot(x134, False, x135, x136)_>=_new_quot0(x134, x135, x136, x135)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 *We consider the chain new_quot(x139, False, x140, x141) -> new_quot0(x139, x140, x141, x140), new_quot0(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x142, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot0(x139, x140, x141, x140)=new_quot0(x142, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) ==> new_quot(x139, False, x140, x141)_>=_new_quot0(x139, x140, x141, x140)) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Pos(Succ(Zero))) -> new_quot(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero))), new_quot(x145, False, x146, x147) -> new_quot0(x145, x146, x147, x146) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))=new_quot(x145, False, x146, x147) ==> new_quot0(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Pos(Succ(Zero)))_>=_new_quot(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Pos(Succ(Zero)))_>=_new_quot(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Zero))) -> new_quot(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero))), new_quot(x206, False, x207, x208) -> new_quot0(x206, x207, x208, x207) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))=new_quot(x206, False, x207, x208) ==> new_quot0(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Zero)))_>=_new_quot(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Zero)))_>=_new_quot(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Neg(Succ(Zero))) -> new_quot(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero))), new_quot(x267, False, x268, x269) -> new_quot0(x267, x268, x269, x268) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))=new_quot(x267, False, x268, x269) ==> new_quot0(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Neg(Succ(Zero)))_>=_new_quot(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Neg(Succ(Zero)))_>=_new_quot(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Zero))) -> new_quot(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero))), new_quot(x328, False, x329, x330) -> new_quot0(x328, x329, x330, x329) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))=new_quot(x328, False, x329, x330) ==> new_quot0(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Zero)))_>=_new_quot(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Zero)))_>=_new_quot(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero)))) -> new_quot(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero)))), new_quot(x389, False, x390, x391) -> new_quot0(x389, x390, x391, x390) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))=new_quot(x389, False, x390, x391) ==> new_quot0(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero)))) -> new_quot(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero)))), new_quot(x450, False, x451, x452) -> new_quot0(x450, x451, x452, x451) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))=new_quot(x450, False, x451, x452) ==> new_quot0(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero)))) -> new_quot(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero)))), new_quot(x511, False, x512, x513) -> new_quot0(x511, x512, x513, x512) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))=new_quot(x511, False, x512, x513) ==> new_quot0(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero)))) -> new_quot(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero)))), new_quot(x572, False, x573, x574) -> new_quot0(x572, x573, x574, x573) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))=new_quot(x572, False, x573, x574) ==> new_quot0(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632)))))) -> new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), new_quot(x634, False, x635, x636) -> new_quot0(x634, x635, x636, x635) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))=new_quot(x634, False, x635, x636) ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=x1851 & new_esEs1(x1851)=False ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1851)=False which results in the following new constraints: 170.04/122.09 170.04/122.09 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Neg(Succ(x1852)) ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 170.04/122.09 170.04/122.09 (4) (False=False & Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))=Pos(Succ(x1853)) ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.09 170.04/122.09 (5) (Succ(Succ(x632))=x1854 & Succ(Succ(x633))=x1855 & new_primModNatS01(x1854, x1855, x632, x633)=Succ(x1853) ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(x632))))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(Succ(Succ(Succ(Succ(x632))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633))), Neg(Succ(Succ(Succ(Succ(x633))))), Pos(new_primModNatS01(Succ(Succ(x632)), Succ(Succ(x633)), x632, x633)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1854, x1855, x632, x633)=Succ(x1853) which results in the following new constraints: 170.04/122.09 170.04/122.09 (6) (new_primModNatS02(x1857, x1856)=Succ(x1853) & Succ(Succ(Zero))=x1857 & Succ(Succ(Zero))=x1856 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.09 170.04/122.09 (7) (new_primModNatS01(x1861, x1860, x1859, x1858)=Succ(x1853) & Succ(Succ(Succ(x1859)))=x1861 & Succ(Succ(Succ(x1858)))=x1860 & (\/x1862,x1863:new_primModNatS01(x1861, x1860, x1859, x1858)=Succ(x1862) & Succ(Succ(x1859))=x1861 & Succ(Succ(x1858))=x1860 ==> new_quot0(x1863, Pos(Succ(Succ(Succ(Succ(x1859))))), Neg(Succ(Succ(Succ(Succ(x1858))))), Pos(Succ(Succ(Succ(Succ(x1859))))))_>=_new_quot(x1863, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x1859)), Succ(Succ(x1858)), x1859, x1858))), Neg(Succ(Succ(Succ(Succ(x1858))))), Pos(new_primModNatS01(Succ(Succ(x1859)), Succ(Succ(x1858)), x1859, x1858)))) ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1859)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1858)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1859)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1859))), Succ(Succ(Succ(x1858))), Succ(x1859), Succ(x1858)))), Neg(Succ(Succ(Succ(Succ(Succ(x1858)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1859))), Succ(Succ(Succ(x1858))), Succ(x1859), Succ(x1858))))) 170.04/122.09 170.04/122.09 (8) (new_primModNatS02(x1866, x1865)=Succ(x1853) & Succ(Succ(Succ(x1864)))=x1866 & Succ(Succ(Zero))=x1865 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero)))) 170.04/122.09 170.04/122.09 (9) (Succ(Succ(x1869))=Succ(x1853) & Succ(Succ(Zero))=x1869 & Succ(Succ(Succ(x1867)))=x1868 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1867)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1867))), Zero, Succ(x1867)))), Neg(Succ(Succ(Succ(Succ(Succ(x1867)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1867))), Zero, Succ(x1867))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1857, x1856)=Succ(x1853) which results in the following new constraint: 170.04/122.09 170.04/122.09 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1871), Succ(x1870)), Succ(x1870))=Succ(x1853) & Succ(Succ(Zero))=x1871 & Succ(Succ(Zero))=x1870 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (7) using rule (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (11) (new_primModNatS01(x1861, x1860, x1859, x1858)=Succ(x1853) & Succ(Succ(Succ(x1859)))=x1861 & Succ(Succ(Succ(x1858)))=x1860 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1859)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1858)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1859)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1859))), Succ(Succ(Succ(x1858))), Succ(x1859), Succ(x1858)))), Neg(Succ(Succ(Succ(Succ(Succ(x1858)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1859))), Succ(Succ(Succ(x1858))), Succ(x1859), Succ(x1858))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1866, x1865)=Succ(x1853) which results in the following new constraint: 170.04/122.09 170.04/122.09 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1891), Succ(x1890)), Succ(x1890))=Succ(x1853) & Succ(Succ(Succ(x1864)))=x1891 & Succ(Succ(Zero))=x1890 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (13) (new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1867)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1867))), Zero, Succ(x1867)))), Neg(Succ(Succ(Succ(Succ(Succ(x1867)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1867))), Zero, Succ(x1867))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.09 170.04/122.09 (14) (new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1861, x1860, x1859, x1858)=Succ(x1853) which results in the following new constraints: 170.04/122.09 170.04/122.09 (15) (new_primModNatS02(x1877, x1876)=Succ(x1853) & Succ(Succ(Succ(Zero)))=x1877 & Succ(Succ(Succ(Zero)))=x1876 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.04/122.09 170.04/122.09 (16) (new_primModNatS01(x1881, x1880, x1879, x1878)=Succ(x1853) & Succ(Succ(Succ(Succ(x1879))))=x1881 & Succ(Succ(Succ(Succ(x1878))))=x1880 & (\/x1882,x1883:new_primModNatS01(x1881, x1880, x1879, x1878)=Succ(x1882) & Succ(Succ(Succ(x1879)))=x1881 & Succ(Succ(Succ(x1878)))=x1880 ==> new_quot0(x1883, Pos(Succ(Succ(Succ(Succ(Succ(x1879)))))), Neg(Succ(Succ(Succ(Succ(Succ(x1878)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1879)))))))_>=_new_quot(x1883, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1879))), Succ(Succ(Succ(x1878))), Succ(x1879), Succ(x1878)))), Neg(Succ(Succ(Succ(Succ(Succ(x1878)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1879))), Succ(Succ(Succ(x1878))), Succ(x1879), Succ(x1878))))) ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1879))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1879))))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1879)))), Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(x1879)), Succ(Succ(x1878))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1879)))), Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(x1879)), Succ(Succ(x1878)))))) 170.04/122.09 170.04/122.09 (17) (new_primModNatS02(x1886, x1885)=Succ(x1853) & Succ(Succ(Succ(Succ(x1884))))=x1886 & Succ(Succ(Succ(Zero)))=x1885 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1884))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1884))))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1884)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1884)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1884)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1884)), Succ(Zero))))) 170.04/122.09 170.04/122.09 (18) (Succ(Succ(x1889))=Succ(x1853) & Succ(Succ(Succ(Zero)))=x1889 & Succ(Succ(Succ(Succ(x1887))))=x1888 ==> new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1887))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1887)))), Succ(Zero), Succ(Succ(x1887))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1887))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1887)))), Succ(Zero), Succ(Succ(x1887)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (19) (new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (20) (new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1879))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1879))))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1879)))), Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(x1879)), Succ(Succ(x1878))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1879)))), Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(x1879)), Succ(Succ(x1878)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (21) (new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1884))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1884))))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1884)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1884)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1884)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1884)), Succ(Zero))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (22) (new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1887))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1887)))), Succ(Zero), Succ(Succ(x1887))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1887))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1887)))), Succ(Zero), Succ(Succ(x1887)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.09 170.04/122.09 (23) (new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero)))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero))))), new_quot(x723, False, x724, x725) -> new_quot0(x723, x724, x725, x724) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot(x723, False, x724, x725) ==> new_quot0(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (new_quot0(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.04/122.09 *We consider the chain new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783)))))) -> new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), new_quot(x784, False, x785, x786) -> new_quot0(x784, x785, x786, x785) which results in the following constraint: 170.04/122.09 170.04/122.09 (1) (new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))=new_quot(x784, False, x785, x786) ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.09 170.04/122.09 (2) (Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=x1896 & new_esEs1(x1896)=False ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1896)=False which results in the following new constraints: 170.04/122.09 170.04/122.09 (3) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Neg(Succ(x1897)) ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 (4) (False=False & Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))=Pos(Succ(x1898)) ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.09 170.04/122.09 (5) (Succ(x783)=x1899 & Succ(Succ(Zero))=x1900 & new_primModNatS1(x1899, x1900)=Succ(x1898) ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 170.04/122.09 170.04/122.09 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x1899, x1900)=Succ(x1898) which results in the following new constraints: 170.04/122.09 170.04/122.09 (6) (Succ(Zero)=Succ(x1898) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Succ(x1901) ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.09 170.04/122.09 (7) (new_primModNatS1(new_primMinusNatS0(x1903), Zero)=Succ(x1898) & Succ(x783)=Succ(Succ(x1903)) & Succ(Succ(Zero))=Zero ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x1898) & Succ(x783)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (9) (new_primModNatS01(x1905, x1904, x1905, x1904)=Succ(x1898) & Succ(x783)=Succ(Succ(x1905)) & Succ(Succ(Zero))=Succ(x1904) ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(x783))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x783))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x783), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (x1905=x1906 & x1904=x1907 & new_primModNatS01(x1905, x1904, x1906, x1907)=Succ(x1898) & Succ(Zero)=x1904 ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1905)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1905)))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x1905)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1905)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1905, x1904, x1906, x1907)=Succ(x1898) which results in the following new constraints: 170.04/122.10 170.04/122.10 (12) (new_primModNatS02(x1909, x1908)=Succ(x1898) & x1909=Zero & x1908=Zero & Succ(Zero)=x1908 ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1909)))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x1909)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1909)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (13) (new_primModNatS01(x1913, x1912, x1911, x1910)=Succ(x1898) & x1913=Succ(x1911) & x1912=Succ(x1910) & Succ(Zero)=x1912 & (\/x1914,x1915:new_primModNatS01(x1913, x1912, x1911, x1910)=Succ(x1914) & x1913=x1911 & x1912=x1910 & Succ(Zero)=x1912 ==> new_quot0(x1915, Pos(Succ(Succ(Succ(Succ(Succ(x1913)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1913)))))))_>=_new_quot(x1915, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x1913)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1913)), Succ(Succ(Zero)))))) ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1913)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1913)))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x1913)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1913)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (14) (new_primModNatS02(x1918, x1917)=Succ(x1898) & x1918=Succ(x1916) & x1917=Zero & Succ(Zero)=x1917 ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1918)))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1918)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (15) (Succ(Succ(x1921))=Succ(x1898) & x1921=Zero & x1920=Succ(x1919) & Succ(Zero)=x1920 ==> new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(x1921)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x1921)))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x1921)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x1921)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (16) (new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1911))))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1911))))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Succ(x1911))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1911))), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (17) (new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844)))))) -> new_quot(x843, new_esEs1(Pos(new_primModNatS01(x844, Zero, x844, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x844, Zero, x844, Zero))), new_quot(x845, False, x846, x847) -> new_quot0(x845, x846, x847, x846) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x843, new_esEs1(Pos(new_primModNatS01(x844, Zero, x844, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x844, Zero, x844, Zero)))=new_quot(x845, False, x846, x847) ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x844, Zero, x844, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x844, Zero, x844, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Pos(new_primModNatS01(x844, Zero, x844, Zero))=x1924 & new_esEs1(x1924)=False ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x844, Zero, x844, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x844, Zero, x844, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1924)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Pos(new_primModNatS01(x844, Zero, x844, Zero))=Neg(Succ(x1925)) ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x844, Zero, x844, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x844, Zero, x844, Zero)))) 170.04/122.10 170.04/122.10 (4) (False=False & Pos(new_primModNatS01(x844, Zero, x844, Zero))=Pos(Succ(x1926)) ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x844, Zero, x844, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x844, Zero, x844, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Zero=x1927 & x844=x1928 & Zero=x1929 & new_primModNatS01(x844, x1927, x1928, x1929)=Succ(x1926) ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x844))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x844))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x844, Zero, x844, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x844, Zero, x844, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x844, x1927, x1928, x1929)=Succ(x1926) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (new_primModNatS02(x1931, x1930)=Succ(x1926) & Zero=x1930 & x1931=Zero & Zero=Zero ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x1931))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1931))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x1931, Zero, x1931, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1931, Zero, x1931, Zero)))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS01(x1935, x1934, x1933, x1932)=Succ(x1926) & Zero=x1934 & x1935=Succ(x1933) & Zero=Succ(x1932) & (\/x1936,x1937:new_primModNatS01(x1935, x1934, x1933, x1932)=Succ(x1936) & Zero=x1934 & x1935=x1933 & Zero=x1932 ==> new_quot0(x1937, Pos(Succ(Succ(Succ(Succ(x1935))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1935))))))_>=_new_quot(x1937, new_esEs1(Pos(new_primModNatS01(x1935, Zero, x1935, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1935, Zero, x1935, Zero)))) ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x1935))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1935))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x1935, Zero, x1935, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1935, Zero, x1935, Zero)))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS02(x1940, x1939)=Succ(x1926) & Zero=x1939 & x1940=Succ(x1938) & Zero=Zero ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x1940))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1940))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x1940, Zero, x1940, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1940, Zero, x1940, Zero)))) 170.04/122.10 170.04/122.10 (9) (Succ(Succ(x1943))=Succ(x1926) & Zero=x1942 & x1943=Zero & Zero=Succ(x1941) ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(x1943))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1943))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(x1943, Zero, x1943, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x1943, Zero, x1943, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (Zero=x1944 & new_primModNatS02(x1944, x1930)=Succ(x1926) & Zero=x1930 ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (Succ(x1938)=x1951 & new_primModNatS02(x1951, x1939)=Succ(x1926) & Zero=x1939 ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1944, x1930)=Succ(x1926) which results in the following new constraint: 170.04/122.10 170.04/122.10 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1946), Succ(x1945)), Succ(x1945))=Succ(x1926) & Zero=x1946 & Zero=x1945 ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (13) (new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1951, x1939)=Succ(x1926) which results in the following new constraint: 170.04/122.10 170.04/122.10 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x1953), Succ(x1952)), Succ(x1952))=Succ(x1926) & Succ(x1938)=x1953 & Zero=x1952 ==> new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (15) (new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot(x905, False, x906, x907) -> new_quot0(x905, x906, x907, x906) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot(x905, False, x906, x907) ==> new_quot0(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (new_quot0(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937)))))) -> new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), new_quot(x939, False, x940, x941) -> new_quot0(x939, x940, x941, x940) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))=new_quot(x939, False, x940, x941) ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=x1958 & new_esEs1(x1958)=False ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x1958)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Neg(Succ(x1959)) ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 170.04/122.10 170.04/122.10 (4) (False=False & Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))=Pos(Succ(x1960)) ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Succ(Succ(x937))=x1961 & Succ(Succ(x938))=x1962 & new_primModNatS01(x1961, x1962, x937, x938)=Succ(x1960) ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(x937))))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(Succ(Succ(Succ(Succ(x937))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938))), Pos(Succ(Succ(Succ(Succ(x938))))), Pos(new_primModNatS01(Succ(Succ(x937)), Succ(Succ(x938)), x937, x938)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1961, x1962, x937, x938)=Succ(x1960) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (new_primModNatS02(x1964, x1963)=Succ(x1960) & Succ(Succ(Zero))=x1964 & Succ(Succ(Zero))=x1963 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS01(x1968, x1967, x1966, x1965)=Succ(x1960) & Succ(Succ(Succ(x1966)))=x1968 & Succ(Succ(Succ(x1965)))=x1967 & (\/x1969,x1970:new_primModNatS01(x1968, x1967, x1966, x1965)=Succ(x1969) & Succ(Succ(x1966))=x1968 & Succ(Succ(x1965))=x1967 ==> new_quot0(x1970, Pos(Succ(Succ(Succ(Succ(x1966))))), Pos(Succ(Succ(Succ(Succ(x1965))))), Pos(Succ(Succ(Succ(Succ(x1966))))))_>=_new_quot(x1970, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x1966)), Succ(Succ(x1965)), x1966, x1965))), Pos(Succ(Succ(Succ(Succ(x1965))))), Pos(new_primModNatS01(Succ(Succ(x1966)), Succ(Succ(x1965)), x1966, x1965)))) ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1966)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1965)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1966)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1966))), Succ(Succ(Succ(x1965))), Succ(x1966), Succ(x1965)))), Pos(Succ(Succ(Succ(Succ(Succ(x1965)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1966))), Succ(Succ(Succ(x1965))), Succ(x1966), Succ(x1965))))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS02(x1973, x1972)=Succ(x1960) & Succ(Succ(Succ(x1971)))=x1973 & Succ(Succ(Zero))=x1972 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 170.04/122.10 170.04/122.10 (9) (Succ(Succ(x1976))=Succ(x1960) & Succ(Succ(Zero))=x1976 & Succ(Succ(Succ(x1974)))=x1975 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1974))), Zero, Succ(x1974)))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1974))), Zero, Succ(x1974))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1964, x1963)=Succ(x1960) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x1978), Succ(x1977)), Succ(x1977))=Succ(x1960) & Succ(Succ(Zero))=x1978 & Succ(Succ(Zero))=x1977 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (7) using rule (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (new_primModNatS01(x1968, x1967, x1966, x1965)=Succ(x1960) & Succ(Succ(Succ(x1966)))=x1968 & Succ(Succ(Succ(x1965)))=x1967 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1966)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1965)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1966)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1966))), Succ(Succ(Succ(x1965))), Succ(x1966), Succ(x1965)))), Pos(Succ(Succ(Succ(Succ(Succ(x1965)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1966))), Succ(Succ(Succ(x1965))), Succ(x1966), Succ(x1965))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x1973, x1972)=Succ(x1960) which results in the following new constraint: 170.04/122.10 170.04/122.10 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x1998), Succ(x1997)), Succ(x1997))=Succ(x1960) & Succ(Succ(Succ(x1971)))=x1998 & Succ(Succ(Zero))=x1997 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (13) (new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1974))), Zero, Succ(x1974)))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1974))), Zero, Succ(x1974))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (14) (new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1968, x1967, x1966, x1965)=Succ(x1960) which results in the following new constraints: 170.04/122.10 170.04/122.10 (15) (new_primModNatS02(x1984, x1983)=Succ(x1960) & Succ(Succ(Succ(Zero)))=x1984 & Succ(Succ(Succ(Zero)))=x1983 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.04/122.10 170.04/122.10 (16) (new_primModNatS01(x1988, x1987, x1986, x1985)=Succ(x1960) & Succ(Succ(Succ(Succ(x1986))))=x1988 & Succ(Succ(Succ(Succ(x1985))))=x1987 & (\/x1989,x1990:new_primModNatS01(x1988, x1987, x1986, x1985)=Succ(x1989) & Succ(Succ(Succ(x1986)))=x1988 & Succ(Succ(Succ(x1985)))=x1987 ==> new_quot0(x1990, Pos(Succ(Succ(Succ(Succ(Succ(x1986)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1985)))))), Pos(Succ(Succ(Succ(Succ(Succ(x1986)))))))_>=_new_quot(x1990, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1986))), Succ(Succ(Succ(x1985))), Succ(x1986), Succ(x1985)))), Pos(Succ(Succ(Succ(Succ(Succ(x1985)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1986))), Succ(Succ(Succ(x1985))), Succ(x1986), Succ(x1985))))) ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1986))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1985))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1986))))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1986)))), Succ(Succ(Succ(Succ(x1985)))), Succ(Succ(x1986)), Succ(Succ(x1985))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1985))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1986)))), Succ(Succ(Succ(Succ(x1985)))), Succ(Succ(x1986)), Succ(Succ(x1985)))))) 170.04/122.10 170.04/122.10 (17) (new_primModNatS02(x1993, x1992)=Succ(x1960) & Succ(Succ(Succ(Succ(x1991))))=x1993 & Succ(Succ(Succ(Zero)))=x1992 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) 170.04/122.10 170.04/122.10 (18) (Succ(Succ(x1996))=Succ(x1960) & Succ(Succ(Succ(Zero)))=x1996 & Succ(Succ(Succ(Succ(x1994))))=x1995 ==> new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1994)))), Succ(Zero), Succ(Succ(x1994))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1994)))), Succ(Zero), Succ(Succ(x1994)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (19) (new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (20) (new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1986))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1985))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1986))))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1986)))), Succ(Succ(Succ(Succ(x1985)))), Succ(Succ(x1986)), Succ(Succ(x1985))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1985))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1986)))), Succ(Succ(Succ(Succ(x1985)))), Succ(Succ(x1986)), Succ(Succ(x1985)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (21) (new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (22) (new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1994)))), Succ(Zero), Succ(Succ(x1994))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1994)))), Succ(Zero), Succ(Succ(x1994)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (23) (new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero))))), new_quot(x1028, False, x1029, x1030) -> new_quot0(x1028, x1029, x1030, x1029) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))=new_quot(x1028, False, x1029, x1030) ==> new_quot0(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (new_quot0(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088)))))) -> new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), new_quot(x1089, False, x1090, x1091) -> new_quot0(x1089, x1090, x1091, x1090) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))=new_quot(x1089, False, x1090, x1091) ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=x2003 & new_esEs1(x2003)=False ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2003)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Neg(Succ(x2004)) ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (4) (False=False & Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))=Pos(Succ(x2005)) ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Succ(x1088)=x2006 & Succ(Succ(Zero))=x2007 & new_primModNatS1(x2006, x2007)=Succ(x2005) ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2006, x2007)=Succ(x2005) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (Succ(Zero)=Succ(x2005) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2008) ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS1(new_primMinusNatS0(x2010), Zero)=Succ(x2005) & Succ(x1088)=Succ(Succ(x2010)) & Succ(Succ(Zero))=Zero ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2005) & Succ(x1088)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (9) (new_primModNatS01(x2012, x2011, x2012, x2011)=Succ(x2005) & Succ(x1088)=Succ(Succ(x2012)) & Succ(Succ(Zero))=Succ(x2011) ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(x1088))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1088))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x1088), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (x2012=x2013 & x2011=x2014 & new_primModNatS01(x2012, x2011, x2013, x2014)=Succ(x2005) & Succ(Zero)=x2011 ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2012)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2012)))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x2012)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2012)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2012, x2011, x2013, x2014)=Succ(x2005) which results in the following new constraints: 170.04/122.10 170.04/122.10 (12) (new_primModNatS02(x2016, x2015)=Succ(x2005) & x2016=Zero & x2015=Zero & Succ(Zero)=x2015 ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2016)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2016)))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x2016)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2016)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (13) (new_primModNatS01(x2020, x2019, x2018, x2017)=Succ(x2005) & x2020=Succ(x2018) & x2019=Succ(x2017) & Succ(Zero)=x2019 & (\/x2021,x2022:new_primModNatS01(x2020, x2019, x2018, x2017)=Succ(x2021) & x2020=x2018 & x2019=x2017 & Succ(Zero)=x2019 ==> new_quot0(x2022, Pos(Succ(Succ(Succ(Succ(Succ(x2020)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2020)))))))_>=_new_quot(x2022, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x2020)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2020)), Succ(Succ(Zero)))))) ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2020)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2020)))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x2020)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2020)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (14) (new_primModNatS02(x2025, x2024)=Succ(x2005) & x2025=Succ(x2023) & x2024=Zero & Succ(Zero)=x2024 ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2025)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2025)))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x2025)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2025)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (15) (Succ(Succ(x2028))=Succ(x2005) & x2028=Zero & x2027=Succ(x2026) & Succ(Zero)=x2027 ==> new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(x2028)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x2028)))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(x2028)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x2028)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (16) (new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2018))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2018))))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Succ(x2018))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x2018))), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (17) (new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149)))))) -> new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), new_quot(x1150, False, x1151, x1152) -> new_quot0(x1150, x1151, x1152, x1151) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x1149, Zero, x1149, Zero)))=new_quot(x1150, False, x1151, x1152) ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x1149, Zero, x1149, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Pos(new_primModNatS01(x1149, Zero, x1149, Zero))=x2031 & new_esEs1(x2031)=False ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x1149, Zero, x1149, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2031)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Pos(new_primModNatS01(x1149, Zero, x1149, Zero))=Neg(Succ(x2032)) ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x1149, Zero, x1149, Zero)))) 170.04/122.10 170.04/122.10 (4) (False=False & Pos(new_primModNatS01(x1149, Zero, x1149, Zero))=Pos(Succ(x2033)) ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x1149, Zero, x1149, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Zero=x2034 & x1149=x2035 & Zero=x2036 & new_primModNatS01(x1149, x2034, x2035, x2036)=Succ(x2033) ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x1149))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1149))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x1149, Zero, x1149, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x1149, Zero, x1149, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1149, x2034, x2035, x2036)=Succ(x2033) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (new_primModNatS02(x2038, x2037)=Succ(x2033) & Zero=x2037 & x2038=Zero & Zero=Zero ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x2038))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2038))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x2038, Zero, x2038, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x2038, Zero, x2038, Zero)))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS01(x2042, x2041, x2040, x2039)=Succ(x2033) & Zero=x2041 & x2042=Succ(x2040) & Zero=Succ(x2039) & (\/x2043,x2044:new_primModNatS01(x2042, x2041, x2040, x2039)=Succ(x2043) & Zero=x2041 & x2042=x2040 & Zero=x2039 ==> new_quot0(x2044, Pos(Succ(Succ(Succ(Succ(x2042))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2042))))))_>=_new_quot(x2044, new_esEs1(Pos(new_primModNatS01(x2042, Zero, x2042, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x2042, Zero, x2042, Zero)))) ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x2042))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2042))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x2042, Zero, x2042, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x2042, Zero, x2042, Zero)))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS02(x2047, x2046)=Succ(x2033) & Zero=x2046 & x2047=Succ(x2045) & Zero=Zero ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x2047))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2047))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x2047, Zero, x2047, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x2047, Zero, x2047, Zero)))) 170.04/122.10 170.04/122.10 (9) (Succ(Succ(x2050))=Succ(x2033) & Zero=x2049 & x2050=Zero & Zero=Succ(x2048) ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(x2050))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2050))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(x2050, Zero, x2050, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x2050, Zero, x2050, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (Zero=x2051 & new_primModNatS02(x2051, x2037)=Succ(x2033) & Zero=x2037 ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (Succ(x2045)=x2058 & new_primModNatS02(x2058, x2046)=Succ(x2033) & Zero=x2046 ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2051, x2037)=Succ(x2033) which results in the following new constraint: 170.04/122.10 170.04/122.10 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2053), Succ(x2052)), Succ(x2052))=Succ(x2033) & Zero=x2053 & Zero=x2052 ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (13) (new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2058, x2046)=Succ(x2033) which results in the following new constraint: 170.04/122.10 170.04/122.10 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2060), Succ(x2059)), Succ(x2059))=Succ(x2033) & Succ(x2045)=x2060 & Zero=x2059 ==> new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (15) (new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))), new_quot(x1210, False, x1211, x1212) -> new_quot0(x1210, x1211, x1212, x1211) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))=new_quot(x1210, False, x1211, x1212) ==> new_quot0(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (new_quot0(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242)))))) -> new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), new_quot(x1244, False, x1245, x1246) -> new_quot0(x1244, x1245, x1246, x1245) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))=new_quot(x1244, False, x1245, x1246) ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=x2065 & new_esEs1(x2065)=False ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2065)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Neg(Succ(x2066)) ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 170.04/122.10 170.04/122.10 (4) (False=False & Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))=Pos(Succ(x2067)) ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Succ(Succ(x1242))=x2068 & Succ(Succ(x1243))=x2069 & new_primModNatS01(x2068, x2069, x1242, x1243)=Succ(x2066) ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(x1242))))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(Succ(Succ(Succ(Succ(x1242))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243))), Pos(Succ(Succ(Succ(Succ(x1243))))), Neg(new_primModNatS01(Succ(Succ(x1242)), Succ(Succ(x1243)), x1242, x1243)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2068, x2069, x1242, x1243)=Succ(x2066) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (new_primModNatS02(x2071, x2070)=Succ(x2066) & Succ(Succ(Zero))=x2071 & Succ(Succ(Zero))=x2070 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS01(x2075, x2074, x2073, x2072)=Succ(x2066) & Succ(Succ(Succ(x2073)))=x2075 & Succ(Succ(Succ(x2072)))=x2074 & (\/x2076,x2077:new_primModNatS01(x2075, x2074, x2073, x2072)=Succ(x2076) & Succ(Succ(x2073))=x2075 & Succ(Succ(x2072))=x2074 ==> new_quot0(x2077, Neg(Succ(Succ(Succ(Succ(x2073))))), Pos(Succ(Succ(Succ(Succ(x2072))))), Neg(Succ(Succ(Succ(Succ(x2073))))))_>=_new_quot(x2077, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2073)), Succ(Succ(x2072)), x2073, x2072))), Pos(Succ(Succ(Succ(Succ(x2072))))), Neg(new_primModNatS01(Succ(Succ(x2073)), Succ(Succ(x2072)), x2073, x2072)))) ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2073)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2072)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2073)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2073))), Succ(Succ(Succ(x2072))), Succ(x2073), Succ(x2072)))), Pos(Succ(Succ(Succ(Succ(Succ(x2072)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2073))), Succ(Succ(Succ(x2072))), Succ(x2073), Succ(x2072))))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS02(x2080, x2079)=Succ(x2066) & Succ(Succ(Succ(x2078)))=x2080 & Succ(Succ(Zero))=x2079 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero)))) 170.04/122.10 170.04/122.10 (9) (Succ(Succ(x2083))=Succ(x2066) & Succ(Succ(Zero))=x2083 & Succ(Succ(Succ(x2081)))=x2082 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2081)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2081))), Zero, Succ(x2081)))), Pos(Succ(Succ(Succ(Succ(Succ(x2081)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2081))), Zero, Succ(x2081))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2071, x2070)=Succ(x2066) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x2085), Succ(x2084)), Succ(x2084))=Succ(x2066) & Succ(Succ(Zero))=x2085 & Succ(Succ(Zero))=x2084 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (7) using rule (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (new_primModNatS01(x2075, x2074, x2073, x2072)=Succ(x2066) & Succ(Succ(Succ(x2073)))=x2075 & Succ(Succ(Succ(x2072)))=x2074 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2073)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2072)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2073)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2073))), Succ(Succ(Succ(x2072))), Succ(x2073), Succ(x2072)))), Pos(Succ(Succ(Succ(Succ(Succ(x2072)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2073))), Succ(Succ(Succ(x2072))), Succ(x2073), Succ(x2072))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2080, x2079)=Succ(x2066) which results in the following new constraint: 170.04/122.10 170.04/122.10 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2105), Succ(x2104)), Succ(x2104))=Succ(x2066) & Succ(Succ(Succ(x2078)))=x2105 & Succ(Succ(Zero))=x2104 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (13) (new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2081)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2081))), Zero, Succ(x2081)))), Pos(Succ(Succ(Succ(Succ(Succ(x2081)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2081))), Zero, Succ(x2081))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (14) (new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2075, x2074, x2073, x2072)=Succ(x2066) which results in the following new constraints: 170.04/122.10 170.04/122.10 (15) (new_primModNatS02(x2091, x2090)=Succ(x2066) & Succ(Succ(Succ(Zero)))=x2091 & Succ(Succ(Succ(Zero)))=x2090 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.04/122.10 170.04/122.10 (16) (new_primModNatS01(x2095, x2094, x2093, x2092)=Succ(x2066) & Succ(Succ(Succ(Succ(x2093))))=x2095 & Succ(Succ(Succ(Succ(x2092))))=x2094 & (\/x2096,x2097:new_primModNatS01(x2095, x2094, x2093, x2092)=Succ(x2096) & Succ(Succ(Succ(x2093)))=x2095 & Succ(Succ(Succ(x2092)))=x2094 ==> new_quot0(x2097, Neg(Succ(Succ(Succ(Succ(Succ(x2093)))))), Pos(Succ(Succ(Succ(Succ(Succ(x2092)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2093)))))))_>=_new_quot(x2097, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2093))), Succ(Succ(Succ(x2092))), Succ(x2093), Succ(x2092)))), Pos(Succ(Succ(Succ(Succ(Succ(x2092)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2093))), Succ(Succ(Succ(x2092))), Succ(x2093), Succ(x2092))))) ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2093))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2092))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2093))))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2093)))), Succ(Succ(Succ(Succ(x2092)))), Succ(Succ(x2093)), Succ(Succ(x2092))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2092))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2093)))), Succ(Succ(Succ(Succ(x2092)))), Succ(Succ(x2093)), Succ(Succ(x2092)))))) 170.04/122.10 170.04/122.10 (17) (new_primModNatS02(x2100, x2099)=Succ(x2066) & Succ(Succ(Succ(Succ(x2098))))=x2100 & Succ(Succ(Succ(Zero)))=x2099 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2098))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2098))))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2098)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2098)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2098)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2098)), Succ(Zero))))) 170.04/122.10 170.04/122.10 (18) (Succ(Succ(x2103))=Succ(x2066) & Succ(Succ(Succ(Zero)))=x2103 & Succ(Succ(Succ(Succ(x2101))))=x2102 ==> new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2101))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2101)))), Succ(Zero), Succ(Succ(x2101))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2101))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2101)))), Succ(Zero), Succ(Succ(x2101)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (19) (new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (20) (new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2093))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2092))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2093))))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2093)))), Succ(Succ(Succ(Succ(x2092)))), Succ(Succ(x2093)), Succ(Succ(x2092))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2092))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2093)))), Succ(Succ(Succ(Succ(x2092)))), Succ(Succ(x2093)), Succ(Succ(x2092)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (21) (new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2098))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2098))))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2098)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2098)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2098)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2098)), Succ(Zero))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (22) (new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2101))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2101)))), Succ(Zero), Succ(Succ(x2101))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2101))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2101)))), Succ(Zero), Succ(Succ(x2101)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (23) (new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero))))), new_quot(x1333, False, x1334, x1335) -> new_quot0(x1333, x1334, x1335, x1334) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot(x1333, False, x1334, x1335) ==> new_quot0(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (new_quot0(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393)))))) -> new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), new_quot(x1394, False, x1395, x1396) -> new_quot0(x1394, x1395, x1396, x1395) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))=new_quot(x1394, False, x1395, x1396) ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=x2110 & new_esEs1(x2110)=False ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2110)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Neg(Succ(x2111)) ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (4) (False=False & Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))=Pos(Succ(x2112)) ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Succ(x1393)=x2113 & Succ(Succ(Zero))=x2114 & new_primModNatS1(x2113, x2114)=Succ(x2111) ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2113, x2114)=Succ(x2111) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (Succ(Zero)=Succ(x2111) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2115) ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS1(new_primMinusNatS0(x2117), Zero)=Succ(x2111) & Succ(x1393)=Succ(Succ(x2117)) & Succ(Succ(Zero))=Zero ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2111) & Succ(x1393)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (9) (new_primModNatS01(x2119, x2118, x2119, x2118)=Succ(x2111) & Succ(x1393)=Succ(Succ(x2119)) & Succ(Succ(Zero))=Succ(x2118) ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(x1393))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1393))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1393), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (x2119=x2120 & x2118=x2121 & new_primModNatS01(x2119, x2118, x2120, x2121)=Succ(x2111) & Succ(Zero)=x2118 ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2119)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2119)))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2119)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2119)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2119, x2118, x2120, x2121)=Succ(x2111) which results in the following new constraints: 170.04/122.10 170.04/122.10 (12) (new_primModNatS02(x2123, x2122)=Succ(x2111) & x2123=Zero & x2122=Zero & Succ(Zero)=x2122 ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2123)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2123)))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2123)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2123)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (13) (new_primModNatS01(x2127, x2126, x2125, x2124)=Succ(x2111) & x2127=Succ(x2125) & x2126=Succ(x2124) & Succ(Zero)=x2126 & (\/x2128,x2129:new_primModNatS01(x2127, x2126, x2125, x2124)=Succ(x2128) & x2127=x2125 & x2126=x2124 & Succ(Zero)=x2126 ==> new_quot0(x2129, Neg(Succ(Succ(Succ(Succ(Succ(x2127)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2127)))))))_>=_new_quot(x2129, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2127)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2127)), Succ(Succ(Zero)))))) ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2127)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2127)))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2127)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2127)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (14) (new_primModNatS02(x2132, x2131)=Succ(x2111) & x2132=Succ(x2130) & x2131=Zero & Succ(Zero)=x2131 ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2132)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2132)))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2132)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2132)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 (15) (Succ(Succ(x2135))=Succ(x2111) & x2135=Zero & x2134=Succ(x2133) & Succ(Zero)=x2134 ==> new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2135)))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2135)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2135)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (16) (new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2125))))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2125))))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x2125))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2125))), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (17) (new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454)))))) -> new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), new_quot(x1455, False, x1456, x1457) -> new_quot0(x1455, x1456, x1457, x1456) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x1454, Zero, x1454, Zero)))=new_quot(x1455, False, x1456, x1457) ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x1454, Zero, x1454, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Neg(new_primModNatS01(x1454, Zero, x1454, Zero))=x2138 & new_esEs1(x2138)=False ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x1454, Zero, x1454, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2138)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Neg(new_primModNatS01(x1454, Zero, x1454, Zero))=Neg(Succ(x2139)) ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x1454, Zero, x1454, Zero)))) 170.04/122.10 170.04/122.10 (4) (False=False & Neg(new_primModNatS01(x1454, Zero, x1454, Zero))=Pos(Succ(x2140)) ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x1454, Zero, x1454, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Zero=x2141 & x1454=x2142 & Zero=x2143 & new_primModNatS01(x1454, x2141, x2142, x2143)=Succ(x2139) ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x1454))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1454))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x1454, Zero, x1454, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x1454, Zero, x1454, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1454, x2141, x2142, x2143)=Succ(x2139) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (new_primModNatS02(x2145, x2144)=Succ(x2139) & Zero=x2144 & x2145=Zero & Zero=Zero ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x2145))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2145))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x2145, Zero, x2145, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x2145, Zero, x2145, Zero)))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS01(x2149, x2148, x2147, x2146)=Succ(x2139) & Zero=x2148 & x2149=Succ(x2147) & Zero=Succ(x2146) & (\/x2150,x2151:new_primModNatS01(x2149, x2148, x2147, x2146)=Succ(x2150) & Zero=x2148 & x2149=x2147 & Zero=x2146 ==> new_quot0(x2151, Neg(Succ(Succ(Succ(Succ(x2149))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2149))))))_>=_new_quot(x2151, new_esEs1(Neg(new_primModNatS01(x2149, Zero, x2149, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x2149, Zero, x2149, Zero)))) ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x2149))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2149))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x2149, Zero, x2149, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x2149, Zero, x2149, Zero)))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS02(x2154, x2153)=Succ(x2139) & Zero=x2153 & x2154=Succ(x2152) & Zero=Zero ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x2154))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2154))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x2154, Zero, x2154, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x2154, Zero, x2154, Zero)))) 170.04/122.10 170.04/122.10 (9) (Succ(Succ(x2157))=Succ(x2139) & Zero=x2156 & x2157=Zero & Zero=Succ(x2155) ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(x2157))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2157))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(x2157, Zero, x2157, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x2157, Zero, x2157, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (Zero=x2158 & new_primModNatS02(x2158, x2144)=Succ(x2139) & Zero=x2144 ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (Succ(x2152)=x2165 & new_primModNatS02(x2165, x2153)=Succ(x2139) & Zero=x2153 ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2158, x2144)=Succ(x2139) which results in the following new constraint: 170.04/122.10 170.04/122.10 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2160), Succ(x2159)), Succ(x2159))=Succ(x2139) & Zero=x2160 & Zero=x2159 ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (13) (new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2165, x2153)=Succ(x2139) which results in the following new constraint: 170.04/122.10 170.04/122.10 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2167), Succ(x2166)), Succ(x2166))=Succ(x2139) & Succ(x2152)=x2167 & Zero=x2166 ==> new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (15) (new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot(x1515, False, x1516, x1517) -> new_quot0(x1515, x1516, x1517, x1516) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot(x1515, False, x1516, x1517) ==> new_quot0(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (new_quot0(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.04/122.10 *We consider the chain new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547)))))) -> new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), new_quot(x1549, False, x1550, x1551) -> new_quot0(x1549, x1550, x1551, x1550) which results in the following constraint: 170.04/122.10 170.04/122.10 (1) (new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))=new_quot(x1549, False, x1550, x1551) ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (2) (Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=x2172 & new_esEs1(x2172)=False ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2172)=False which results in the following new constraints: 170.04/122.10 170.04/122.10 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Neg(Succ(x2173)) ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 170.04/122.10 170.04/122.10 (4) (False=False & Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))=Pos(Succ(x2174)) ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (5) (Succ(Succ(x1547))=x2175 & Succ(Succ(x1548))=x2176 & new_primModNatS01(x2175, x2176, x1547, x1548)=Succ(x2173) ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(x1547))))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(Succ(Succ(Succ(Succ(x1547))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548))), Neg(Succ(Succ(Succ(Succ(x1548))))), Neg(new_primModNatS01(Succ(Succ(x1547)), Succ(Succ(x1548)), x1547, x1548)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2175, x2176, x1547, x1548)=Succ(x2173) which results in the following new constraints: 170.04/122.10 170.04/122.10 (6) (new_primModNatS02(x2178, x2177)=Succ(x2173) & Succ(Succ(Zero))=x2178 & Succ(Succ(Zero))=x2177 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 (7) (new_primModNatS01(x2182, x2181, x2180, x2179)=Succ(x2173) & Succ(Succ(Succ(x2180)))=x2182 & Succ(Succ(Succ(x2179)))=x2181 & (\/x2183,x2184:new_primModNatS01(x2182, x2181, x2180, x2179)=Succ(x2183) & Succ(Succ(x2180))=x2182 & Succ(Succ(x2179))=x2181 ==> new_quot0(x2184, Neg(Succ(Succ(Succ(Succ(x2180))))), Neg(Succ(Succ(Succ(Succ(x2179))))), Neg(Succ(Succ(Succ(Succ(x2180))))))_>=_new_quot(x2184, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2180)), Succ(Succ(x2179)), x2180, x2179))), Neg(Succ(Succ(Succ(Succ(x2179))))), Neg(new_primModNatS01(Succ(Succ(x2180)), Succ(Succ(x2179)), x2180, x2179)))) ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2180)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2179)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2180)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2180))), Succ(Succ(Succ(x2179))), Succ(x2180), Succ(x2179)))), Neg(Succ(Succ(Succ(Succ(Succ(x2179)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2180))), Succ(Succ(Succ(x2179))), Succ(x2180), Succ(x2179))))) 170.04/122.10 170.04/122.10 (8) (new_primModNatS02(x2187, x2186)=Succ(x2173) & Succ(Succ(Succ(x2185)))=x2187 & Succ(Succ(Zero))=x2186 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero)))) 170.04/122.10 170.04/122.10 (9) (Succ(Succ(x2190))=Succ(x2173) & Succ(Succ(Zero))=x2190 & Succ(Succ(Succ(x2188)))=x2189 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2188)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2188))), Zero, Succ(x2188)))), Neg(Succ(Succ(Succ(Succ(Succ(x2188)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2188))), Zero, Succ(x2188))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (6) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2178, x2177)=Succ(x2173) which results in the following new constraint: 170.04/122.10 170.04/122.10 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x2192), Succ(x2191)), Succ(x2191))=Succ(x2173) & Succ(Succ(Zero))=x2192 & Succ(Succ(Zero))=x2191 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (7) using rule (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (11) (new_primModNatS01(x2182, x2181, x2180, x2179)=Succ(x2173) & Succ(Succ(Succ(x2180)))=x2182 & Succ(Succ(Succ(x2179)))=x2181 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2180)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2179)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2180)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2180))), Succ(Succ(Succ(x2179))), Succ(x2180), Succ(x2179)))), Neg(Succ(Succ(Succ(Succ(Succ(x2179)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2180))), Succ(Succ(Succ(x2179))), Succ(x2180), Succ(x2179))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (8) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2187, x2186)=Succ(x2173) which results in the following new constraint: 170.04/122.10 170.04/122.10 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2212), Succ(x2211)), Succ(x2211))=Succ(x2173) & Succ(Succ(Succ(x2185)))=x2212 & Succ(Succ(Zero))=x2211 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 170.04/122.10 170.04/122.10 (13) (new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2188)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2188))), Zero, Succ(x2188)))), Neg(Succ(Succ(Succ(Succ(Succ(x2188)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2188))), Zero, Succ(x2188))))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 170.04/122.10 170.04/122.10 (14) (new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.04/122.10 170.04/122.10 170.04/122.10 170.04/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2182, x2181, x2180, x2179)=Succ(x2173) which results in the following new constraints: 170.07/122.10 170.07/122.10 (15) (new_primModNatS02(x2198, x2197)=Succ(x2173) & Succ(Succ(Succ(Zero)))=x2198 & Succ(Succ(Succ(Zero)))=x2197 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.07/122.10 170.07/122.10 (16) (new_primModNatS01(x2202, x2201, x2200, x2199)=Succ(x2173) & Succ(Succ(Succ(Succ(x2200))))=x2202 & Succ(Succ(Succ(Succ(x2199))))=x2201 & (\/x2203,x2204:new_primModNatS01(x2202, x2201, x2200, x2199)=Succ(x2203) & Succ(Succ(Succ(x2200)))=x2202 & Succ(Succ(Succ(x2199)))=x2201 ==> new_quot0(x2204, Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2199)))))), Neg(Succ(Succ(Succ(Succ(Succ(x2200)))))))_>=_new_quot(x2204, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2200))), Succ(Succ(Succ(x2199))), Succ(x2200), Succ(x2199)))), Neg(Succ(Succ(Succ(Succ(Succ(x2199)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2200))), Succ(Succ(Succ(x2199))), Succ(x2200), Succ(x2199))))) ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2200))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2199))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2200))))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2200)))), Succ(Succ(Succ(Succ(x2199)))), Succ(Succ(x2200)), Succ(Succ(x2199))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2199))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2200)))), Succ(Succ(Succ(Succ(x2199)))), Succ(Succ(x2200)), Succ(Succ(x2199)))))) 170.07/122.10 170.07/122.10 (17) (new_primModNatS02(x2207, x2206)=Succ(x2173) & Succ(Succ(Succ(Succ(x2205))))=x2207 & Succ(Succ(Succ(Zero)))=x2206 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2205))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2205))))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2205)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2205)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2205)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2205)), Succ(Zero))))) 170.07/122.10 170.07/122.10 (18) (Succ(Succ(x2210))=Succ(x2173) & Succ(Succ(Succ(Zero)))=x2210 & Succ(Succ(Succ(Succ(x2208))))=x2209 ==> new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2208))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2208)))), Succ(Zero), Succ(Succ(x2208))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2208))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2208)))), Succ(Zero), Succ(Succ(x2208)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (19) (new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (20) (new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2200))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2199))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2200))))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2200)))), Succ(Succ(Succ(Succ(x2199)))), Succ(Succ(x2200)), Succ(Succ(x2199))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2199))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2200)))), Succ(Succ(Succ(Succ(x2199)))), Succ(Succ(x2200)), Succ(Succ(x2199)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (21) (new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2205))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2205))))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2205)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2205)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2205)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2205)), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (22) (new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2208))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2208)))), Succ(Zero), Succ(Succ(x2208))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2208))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2208)))), Succ(Zero), Succ(Succ(x2208)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (23) (new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 170.07/122.10 *We consider the chain new_quot0(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero))))), new_quot(x1638, False, x1639, x1640) -> new_quot0(x1638, x1639, x1640, x1639) which results in the following constraint: 170.07/122.10 170.07/122.10 (1) (new_quot(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))=new_quot(x1638, False, x1639, x1640) ==> new_quot0(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (2) (new_quot0(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.07/122.10 *We consider the chain new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698)))))) -> new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), new_quot(x1699, False, x1700, x1701) -> new_quot0(x1699, x1700, x1701, x1700) which results in the following constraint: 170.07/122.10 170.07/122.10 (1) (new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))=new_quot(x1699, False, x1700, x1701) ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (2) (Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=x2217 & new_esEs1(x2217)=False ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2217)=False which results in the following new constraints: 170.07/122.10 170.07/122.10 (3) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Neg(Succ(x2218)) ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 (4) (False=False & Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))=Pos(Succ(x2219)) ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (5) (Succ(x1698)=x2220 & Succ(Succ(Zero))=x2221 & new_primModNatS1(x2220, x2221)=Succ(x2218) ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x2220, x2221)=Succ(x2218) which results in the following new constraints: 170.07/122.10 170.07/122.10 (6) (Succ(Zero)=Succ(x2218) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Succ(x2222) ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 (7) (new_primModNatS1(new_primMinusNatS0(x2224), Zero)=Succ(x2218) & Succ(x1698)=Succ(Succ(x2224)) & Succ(Succ(Zero))=Zero ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 (8) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x2218) & Succ(x1698)=Succ(Zero) & Succ(Succ(Zero))=Zero ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 (9) (new_primModNatS01(x2226, x2225, x2226, x2225)=Succ(x2218) & Succ(x1698)=Succ(Succ(x2226)) & Succ(Succ(Zero))=Succ(x2225) ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(x1698))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1698))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x1698), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (10) (new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We solved constraint (7) using rules (I), (II).We solved constraint (8) using rules (I), (II).We simplified constraint (9) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (11) (x2226=x2227 & x2225=x2228 & new_primModNatS01(x2226, x2225, x2227, x2228)=Succ(x2218) & Succ(Zero)=x2225 ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2226)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2226)))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2226)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2226)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x2226, x2225, x2227, x2228)=Succ(x2218) which results in the following new constraints: 170.07/122.10 170.07/122.10 (12) (new_primModNatS02(x2230, x2229)=Succ(x2218) & x2230=Zero & x2229=Zero & Succ(Zero)=x2229 ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2230)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2230)))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2230)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2230)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 (13) (new_primModNatS01(x2234, x2233, x2232, x2231)=Succ(x2218) & x2234=Succ(x2232) & x2233=Succ(x2231) & Succ(Zero)=x2233 & (\/x2235,x2236:new_primModNatS01(x2234, x2233, x2232, x2231)=Succ(x2235) & x2234=x2232 & x2233=x2231 & Succ(Zero)=x2233 ==> new_quot0(x2236, Neg(Succ(Succ(Succ(Succ(Succ(x2234)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2234)))))))_>=_new_quot(x2236, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2234)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2234)), Succ(Succ(Zero)))))) ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2234)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2234)))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2234)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2234)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 (14) (new_primModNatS02(x2239, x2238)=Succ(x2218) & x2239=Succ(x2237) & x2238=Zero & Succ(Zero)=x2238 ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2239)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2239)))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2239)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2239)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 (15) (Succ(Succ(x2242))=Succ(x2218) & x2242=Zero & x2241=Succ(x2240) & Succ(Zero)=x2241 ==> new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(x2242)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x2242)))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(x2242)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x2242)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We solved constraint (12) using rules (I), (II), (III).We simplified constraint (13) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (16) (new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2232))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2232))))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x2232))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2232))), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We solved constraint (14) using rules (I), (II), (III).We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (17) (new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 170.07/122.10 *We consider the chain new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759)))))) -> new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), new_quot(x1760, False, x1761, x1762) -> new_quot0(x1760, x1761, x1762, x1761) which results in the following constraint: 170.07/122.10 170.07/122.10 (1) (new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x1759, Zero, x1759, Zero)))=new_quot(x1760, False, x1761, x1762) ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x1759, Zero, x1759, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (2) (Neg(new_primModNatS01(x1759, Zero, x1759, Zero))=x2245 & new_esEs1(x2245)=False ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x1759, Zero, x1759, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs1(x2245)=False which results in the following new constraints: 170.07/122.10 170.07/122.10 (3) (False=False & Neg(new_primModNatS01(x1759, Zero, x1759, Zero))=Neg(Succ(x2246)) ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x1759, Zero, x1759, Zero)))) 170.07/122.10 170.07/122.10 (4) (False=False & Neg(new_primModNatS01(x1759, Zero, x1759, Zero))=Pos(Succ(x2247)) ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x1759, Zero, x1759, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (5) (Zero=x2248 & x1759=x2249 & Zero=x2250 & new_primModNatS01(x1759, x2248, x2249, x2250)=Succ(x2246) ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x1759))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x1759))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x1759, Zero, x1759, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x1759, Zero, x1759, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x1759, x2248, x2249, x2250)=Succ(x2246) which results in the following new constraints: 170.07/122.10 170.07/122.10 (6) (new_primModNatS02(x2252, x2251)=Succ(x2246) & Zero=x2251 & x2252=Zero & Zero=Zero ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x2252))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2252))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x2252, Zero, x2252, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x2252, Zero, x2252, Zero)))) 170.07/122.10 170.07/122.10 (7) (new_primModNatS01(x2256, x2255, x2254, x2253)=Succ(x2246) & Zero=x2255 & x2256=Succ(x2254) & Zero=Succ(x2253) & (\/x2257,x2258:new_primModNatS01(x2256, x2255, x2254, x2253)=Succ(x2257) & Zero=x2255 & x2256=x2254 & Zero=x2253 ==> new_quot0(x2258, Neg(Succ(Succ(Succ(Succ(x2256))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2256))))))_>=_new_quot(x2258, new_esEs1(Neg(new_primModNatS01(x2256, Zero, x2256, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x2256, Zero, x2256, Zero)))) ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x2256))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2256))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x2256, Zero, x2256, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x2256, Zero, x2256, Zero)))) 170.07/122.10 170.07/122.10 (8) (new_primModNatS02(x2261, x2260)=Succ(x2246) & Zero=x2260 & x2261=Succ(x2259) & Zero=Zero ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x2261))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2261))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x2261, Zero, x2261, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x2261, Zero, x2261, Zero)))) 170.07/122.10 170.07/122.10 (9) (Succ(Succ(x2264))=Succ(x2246) & Zero=x2263 & x2264=Zero & Zero=Succ(x2262) ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(x2264))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x2264))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(x2264, Zero, x2264, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x2264, Zero, x2264, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (10) (Zero=x2265 & new_primModNatS02(x2265, x2251)=Succ(x2246) & Zero=x2251 ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We solved constraint (7) using rules (I), (II).We simplified constraint (8) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (11) (Succ(x2259)=x2272 & new_primModNatS02(x2272, x2260)=Succ(x2246) & Zero=x2260 ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We solved constraint (9) using rules (I), (II).We simplified constraint (10) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2265, x2251)=Succ(x2246) which results in the following new constraint: 170.07/122.10 170.07/122.10 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x2267), Succ(x2266)), Succ(x2266))=Succ(x2246) & Zero=x2267 & Zero=x2266 ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (13) (new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (11) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS02(x2272, x2260)=Succ(x2246) which results in the following new constraint: 170.07/122.10 170.07/122.10 (14) (new_primModNatS1(new_primMinusNatS2(Succ(x2274), Succ(x2273)), Succ(x2273))=Succ(x2246) & Succ(x2259)=x2274 & Zero=x2273 ==> new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (14) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.10 170.07/122.10 (15) (new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 For Pair new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) the following chains were created: 170.07/122.10 *We consider the chain new_quot0(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))), new_quot(x1820, False, x1821, x1822) -> new_quot0(x1820, x1821, x1822, x1821) which results in the following constraint: 170.07/122.10 170.07/122.10 (1) (new_quot(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))=new_quot(x1820, False, x1821, x1822) ==> new_quot0(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.10 170.07/122.10 (2) (new_quot0(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 To summarize, we get the following constraints P__>=_ for the following pairs. 170.07/122.10 170.07/122.10 *new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 170.07/122.10 170.07/122.10 *(new_quot(x3, False, Pos(Succ(Zero)), Neg(Succ(Succ(x7))))_>=_new_quot0(x3, Pos(Succ(Zero)), Neg(Succ(Succ(x7))), Pos(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x8, False, Pos(Succ(Zero)), Pos(Succ(Succ(x12))))_>=_new_quot0(x8, Pos(Succ(Zero)), Pos(Succ(Succ(x12))), Pos(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x13, False, Neg(Succ(Zero)), Pos(Succ(Succ(x17))))_>=_new_quot0(x13, Neg(Succ(Zero)), Pos(Succ(Succ(x17))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x18, False, Neg(Succ(Zero)), Neg(Succ(Succ(x22))))_>=_new_quot0(x18, Neg(Succ(Zero)), Neg(Succ(Succ(x22))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x23, False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))))_>=_new_quot0(x23, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x27)))), Pos(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x28, False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))))_>=_new_quot0(x28, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x32)))), Pos(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x33, False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))))_>=_new_quot0(x33, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x37)))), Neg(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x38, False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))))_>=_new_quot0(x38, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x42)))), Neg(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x43, False, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))))_>=_new_quot0(x43, Pos(Succ(Succ(Succ(Succ(x47))))), Neg(Succ(Succ(Succ(Succ(x48))))), Pos(Succ(Succ(Succ(Succ(x47))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x49, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))))_>=_new_quot0(x49, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x53))))), Pos(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x54, False, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x54, Pos(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x58))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x59, False, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x59, Pos(Succ(Succ(Succ(Succ(x63))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x63))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x64, False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x64, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x68, False, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))))_>=_new_quot0(x68, Pos(Succ(Succ(Succ(Succ(x72))))), Pos(Succ(Succ(Succ(Succ(x73))))), Pos(Succ(Succ(Succ(Succ(x72))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x74, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))))_>=_new_quot0(x74, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x78))))), Pos(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x79, False, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x79, Pos(Succ(Succ(Succ(Succ(x83))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x83))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x84, False, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x84, Pos(Succ(Succ(Succ(Succ(x88))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x88))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x89, False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x89, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x93, False, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))))_>=_new_quot0(x93, Neg(Succ(Succ(Succ(Succ(x97))))), Pos(Succ(Succ(Succ(Succ(x98))))), Neg(Succ(Succ(Succ(Succ(x97))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x99, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))))_>=_new_quot0(x99, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x103))))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x104, False, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x104, Neg(Succ(Succ(Succ(Succ(x108))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x108))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x109, False, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x109, Neg(Succ(Succ(Succ(Succ(x113))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x113))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x114, False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))))_>=_new_quot0(x114, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x118, False, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))))_>=_new_quot0(x118, Neg(Succ(Succ(Succ(Succ(x122))))), Neg(Succ(Succ(Succ(Succ(x123))))), Neg(Succ(Succ(Succ(Succ(x122))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x124, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))))_>=_new_quot0(x124, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x128))))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x129, False, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot0(x129, Neg(Succ(Succ(Succ(Succ(x133))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x133))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x134, False, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x134, Neg(Succ(Succ(Succ(Succ(x138))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x138))))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot(x139, False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))))_>=_new_quot0(x139, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x143, Pos(Succ(Zero)), Neg(Succ(Succ(x144))), Pos(Succ(Zero)))_>=_new_quot(x143, False, Neg(Succ(Succ(x144))), Pos(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x204, Pos(Succ(Zero)), Pos(Succ(Succ(x205))), Pos(Succ(Zero)))_>=_new_quot(x204, False, Pos(Succ(Succ(x205))), Pos(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x265, Neg(Succ(Zero)), Pos(Succ(Succ(x266))), Neg(Succ(Zero)))_>=_new_quot(x265, False, Pos(Succ(Succ(x266))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x326, Neg(Succ(Zero)), Neg(Succ(Succ(x327))), Neg(Succ(Zero)))_>=_new_quot(x326, False, Neg(Succ(Succ(x327))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.07/122.10 170.07/122.10 *(new_quot0(x387, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x387, False, Neg(Succ(Succ(Succ(x388)))), Pos(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.07/122.10 170.07/122.10 *(new_quot0(x448, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))_>=_new_quot(x448, False, Pos(Succ(Succ(Succ(x449)))), Pos(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.07/122.10 170.07/122.10 *(new_quot0(x509, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x509, False, Pos(Succ(Succ(Succ(x510)))), Neg(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.07/122.10 170.07/122.10 *(new_quot0(x570, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))_>=_new_quot(x570, False, Neg(Succ(Succ(Succ(x571)))), Neg(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 170.07/122.10 *(new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1887))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1887)))), Succ(Zero), Succ(Succ(x1887))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1887))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1887)))), Succ(Zero), Succ(Succ(x1887)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x1867)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1867))), Zero, Succ(x1867)))), Neg(Succ(Succ(Succ(Succ(Succ(x1867)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1867))), Zero, Succ(x1867))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1879))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1879))))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1879)))), Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(x1879)), Succ(Succ(x1878))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x1878))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1879)))), Succ(Succ(Succ(Succ(x1878)))), Succ(Succ(x1879)), Succ(Succ(x1878)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1884))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1884))))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1884)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1884)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1884)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1884)), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x631, Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1864)))))))_>=_new_quot(x631, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1864))), Succ(Succ(Zero)), Succ(x1864), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x721, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x721, False, Neg(Succ(Succ(Succ(Succ(x722))))), Pos(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x782, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1911))))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1911))))))))_>=_new_quot(x782, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Succ(x1911))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x1911))), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x843, Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x1938)))))))_>=_new_quot(x843, new_esEs1(Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x1938), Zero, Succ(x1938), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x904, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x904, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 170.07/122.10 *(new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1994)))), Succ(Zero), Succ(Succ(x1994))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1994))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x1994)))), Succ(Zero), Succ(Succ(x1994)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1974))), Zero, Succ(x1974)))), Pos(Succ(Succ(Succ(Succ(Succ(x1974)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x1974))), Zero, Succ(x1974))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1986))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1985))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1986))))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1986)))), Succ(Succ(Succ(Succ(x1985)))), Succ(Succ(x1986)), Succ(Succ(x1985))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1985))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1986)))), Succ(Succ(Succ(Succ(x1985)))), Succ(Succ(x1986)), Succ(Succ(x1985)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x1991))))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x1991)))), Succ(Succ(Succ(Zero))), Succ(Succ(x1991)), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x936, Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x1971)))))))_>=_new_quot(x936, new_esEs1(Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x1971))), Succ(Succ(Zero)), Succ(x1971), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x1026, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1026, False, Pos(Succ(Succ(Succ(Succ(x1027))))), Pos(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1087, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2018))))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2018))))))))_>=_new_quot(x1087, new_esEs1(Pos(new_primModNatS1(Succ(Succ(Succ(x2018))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x2018))), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1148, Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x2045)))))))_>=_new_quot(x1148, new_esEs1(Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x2045), Zero, Succ(x2045), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x1209, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1209, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 170.07/122.10 *(new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2101))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2101)))), Succ(Zero), Succ(Succ(x2101))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2101))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2101)))), Succ(Zero), Succ(Succ(x2101)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x2081)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2081))), Zero, Succ(x2081)))), Pos(Succ(Succ(Succ(Succ(Succ(x2081)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2081))), Zero, Succ(x2081))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2093))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2092))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2093))))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2093)))), Succ(Succ(Succ(Succ(x2092)))), Succ(Succ(x2093)), Succ(Succ(x2092))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x2092))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2093)))), Succ(Succ(Succ(Succ(x2092)))), Succ(Succ(x2093)), Succ(Succ(x2092)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2098))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2098))))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2098)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2098)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2098)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2098)), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1241, Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2078)))))))_>=_new_quot(x1241, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2078))), Succ(Succ(Zero)), Succ(x2078), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x1331, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1331, False, Pos(Succ(Succ(Succ(Succ(x1332))))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1392, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2125))))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2125))))))))_>=_new_quot(x1392, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x2125))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2125))), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1453, Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2152)))))))_>=_new_quot(x1453, new_esEs1(Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2152), Zero, Succ(x2152), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x1514, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1514, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 170.07/122.10 *(new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2208))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2208)))), Succ(Zero), Succ(Succ(x2208))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2208))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x2208)))), Succ(Zero), Succ(Succ(x2208)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2188)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2188))), Zero, Succ(x2188)))), Neg(Succ(Succ(Succ(Succ(Succ(x2188)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x2188))), Zero, Succ(x2188))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2200))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2199))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2200))))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2200)))), Succ(Succ(Succ(Succ(x2199)))), Succ(Succ(x2200)), Succ(Succ(x2199))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2199))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2200)))), Succ(Succ(Succ(Succ(x2199)))), Succ(Succ(x2200)), Succ(Succ(x2199)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2205))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2205))))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2205)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2205)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x2205)))), Succ(Succ(Succ(Zero))), Succ(Succ(x2205)), Succ(Zero))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1546, Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x2185)))))))_>=_new_quot(x1546, new_esEs1(Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x2185))), Succ(Succ(Zero)), Succ(x2185), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x1636, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1636, False, Neg(Succ(Succ(Succ(Succ(x1637))))), Neg(Succ(Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 170.07/122.10 *(new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1697, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2232))))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x2232))))))))_>=_new_quot(x1697, new_esEs1(Neg(new_primModNatS1(Succ(Succ(Succ(x2232))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x2232))), Succ(Succ(Zero)))))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 *(new_quot0(x1758, Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x2259)))))))_>=_new_quot(x1758, new_esEs1(Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x2259), Zero, Succ(x2259), Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 *new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.07/122.10 170.07/122.10 *(new_quot0(x1819, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_quot(x1819, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 170.07/122.10 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. 170.07/122.10 ---------------------------------------- 170.07/122.10 170.07/122.10 (622) 170.07/122.10 Obligation: 170.07/122.10 Q DP problem: 170.07/122.10 The TRS P consists of the following rules: 170.07/122.10 170.07/122.10 new_quot(vuz180, False, vuz71, vuz90) -> new_quot0(vuz180, vuz71, vuz90, vuz71) 170.07/122.10 new_quot0(y0, Pos(Succ(Zero)), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.07/122.10 new_quot0(y0, Pos(Succ(Zero)), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.07/122.10 new_quot0(y0, Neg(Succ(Zero)), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.10 new_quot0(y0, Neg(Succ(Zero)), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_quot(y0, False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 new_quot0(y0, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_quot(y0, new_esEs1(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.07/122.10 new_quot0(y0, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_quot(y0, False, Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.07/122.10 170.07/122.10 The TRS R consists of the following rules: 170.07/122.10 170.07/122.10 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.10 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.10 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.10 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.10 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.10 new_esEs1(Neg(Zero)) -> True 170.07/122.10 new_esEs1(Neg(Succ(vuz1700))) -> False 170.07/122.10 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.10 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.10 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.10 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.10 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.10 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.10 new_primMinusNatS1 -> Zero 170.07/122.10 new_esEs1(Pos(Zero)) -> True 170.07/122.10 new_esEs1(Pos(Succ(vuz1700))) -> False 170.07/122.10 170.07/122.10 The set Q consists of the following terms: 170.07/122.10 170.07/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.10 new_primMinusNatS1 170.07/122.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.10 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.10 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.10 new_primMinusNatS2(Zero, Zero) 170.07/122.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.10 new_primModNatS1(Succ(Zero), Zero) 170.07/122.10 new_primMinusNatS0(x0) 170.07/122.10 new_esEs1(Pos(Zero)) 170.07/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.10 new_esEs1(Pos(Succ(x0))) 170.07/122.10 new_primModNatS1(Zero, x0) 170.07/122.10 new_primModNatS02(x0, x1) 170.07/122.10 new_esEs1(Neg(Succ(x0))) 170.07/122.10 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.10 new_esEs1(Neg(Zero)) 170.07/122.10 170.07/122.10 We have to consider all minimal (P,Q,R)-chains. 170.07/122.10 ---------------------------------------- 170.07/122.10 170.07/122.10 (623) 170.07/122.10 Obligation: 170.07/122.10 Q DP problem: 170.07/122.10 The TRS P consists of the following rules: 170.07/122.10 170.07/122.10 new_primMinusNatS(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS(vuz690, vuz700) 170.07/122.10 170.07/122.10 R is empty. 170.07/122.10 Q is empty. 170.07/122.10 We have to consider all minimal (P,Q,R)-chains. 170.07/122.10 ---------------------------------------- 170.07/122.10 170.07/122.10 (624) QDPSizeChangeProof (EQUIVALENT) 170.07/122.10 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. 170.07/122.10 170.07/122.10 From the DPs we obtained the following set of size-change graphs: 170.07/122.10 *new_primMinusNatS(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS(vuz690, vuz700) 170.07/122.10 The graph contains the following edges 1 > 1, 2 > 2 170.07/122.10 170.07/122.10 170.07/122.10 ---------------------------------------- 170.07/122.10 170.07/122.10 (625) 170.07/122.10 YES 170.07/122.10 170.07/122.10 ---------------------------------------- 170.07/122.10 170.07/122.10 (626) 170.07/122.10 Obligation: 170.07/122.10 Q DP problem: 170.07/122.10 The TRS P consists of the following rules: 170.07/122.10 170.07/122.10 new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz46, vuz45)), vuz45, vuz46) 170.07/122.10 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_rem(vuz46, vuz45)) 170.07/122.10 170.07/122.10 The TRS R consists of the following rules: 170.07/122.10 170.07/122.10 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.10 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.10 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.10 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.10 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.10 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.10 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.10 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.10 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.10 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.10 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.10 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.10 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.10 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.10 new_esEs(Pos(Zero)) -> True 170.07/122.10 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.10 new_error -> error([]) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.10 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.10 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.10 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.10 new_primMinusNatS1 -> Zero 170.07/122.10 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.10 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.10 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.10 new_rem(vuz46, vuz45) -> new_primRemInt(vuz46, vuz45) 170.07/122.10 new_esEs(Neg(Zero)) -> True 170.07/122.10 170.07/122.10 The set Q consists of the following terms: 170.07/122.10 170.07/122.10 new_esEs(Pos(Succ(x0))) 170.07/122.10 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.10 new_primMinusNatS1 170.07/122.10 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.10 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.10 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.10 new_esEs(Neg(Succ(x0))) 170.07/122.10 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.10 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.10 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.10 new_primMinusNatS2(Zero, Zero) 170.07/122.10 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.10 new_error 170.07/122.10 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.10 new_primModNatS1(Succ(Zero), Zero) 170.07/122.10 new_primMinusNatS0(x0) 170.07/122.10 new_esEs(Pos(Zero)) 170.07/122.10 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.10 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.10 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.10 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.10 new_primModNatS1(Zero, x0) 170.07/122.10 new_primModNatS02(x0, x1) 170.07/122.10 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.10 new_rem(x0, x1) 170.07/122.10 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.10 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.10 new_esEs(Neg(Zero)) 170.07/122.10 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.10 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.10 170.07/122.10 We have to consider all minimal (P,Q,R)-chains. 170.07/122.10 ---------------------------------------- 170.07/122.10 170.07/122.10 (627) TransformationProof (EQUIVALENT) 170.07/122.10 By rewriting [LPAR04] the rule new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_rem(vuz46, vuz45)), vuz45, vuz46) at position [0,0] we obtained the following new rules [LPAR04]: 170.07/122.10 170.07/122.10 (new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46),new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46)) 170.07/122.10 170.07/122.10 170.07/122.10 ---------------------------------------- 170.07/122.10 170.07/122.10 (628) 170.07/122.10 Obligation: 170.07/122.10 Q DP problem: 170.07/122.10 The TRS P consists of the following rules: 170.07/122.10 170.07/122.10 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_rem(vuz46, vuz45)) 170.07/122.10 new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) 170.07/122.10 170.07/122.10 The TRS R consists of the following rules: 170.07/122.10 170.07/122.10 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.10 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.10 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.10 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.10 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.10 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.10 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.10 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.10 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.10 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.10 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.10 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.10 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.10 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.10 new_esEs(Pos(Zero)) -> True 170.07/122.10 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.10 new_error -> error([]) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.10 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.10 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.10 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.10 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.10 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_rem(vuz46, vuz45) -> new_primRemInt(vuz46, vuz45) 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_rem(x0, x1) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (629) TransformationProof (EQUIVALENT) 170.07/122.11 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_rem(vuz46, vuz45)) at position [1] we obtained the following new rules [LPAR04]: 170.07/122.11 170.07/122.11 (new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)),new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45))) 170.07/122.11 170.07/122.11 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (630) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_rem(vuz46, vuz45) -> new_primRemInt(vuz46, vuz45) 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_rem(x0, x1) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (631) UsableRulesProof (EQUIVALENT) 170.07/122.11 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (632) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_rem(x0, x1) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (633) QReductionProof (EQUIVALENT) 170.07/122.11 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.07/122.11 170.07/122.11 new_rem(x0, x1) 170.07/122.11 170.07/122.11 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (634) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (635) MNOCProof (EQUIVALENT) 170.07/122.11 We use the modular non-overlap check [FROCOS05] to decrease Q to the empty set. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (636) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 Q is empty. 170.07/122.11 We have to consider all (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (637) InductionCalculusProof (EQUIVALENT) 170.07/122.11 Note that final constraints are written in bold face. 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 For Pair new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) the following chains were created: 170.07/122.11 *We consider the chain new_gcd0Gcd'0(x2, x3) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2), new_gcd0Gcd'1(False, x4, x5) -> new_gcd0Gcd'0(x4, new_primRemInt(x5, x4)) which results in the following constraint: 170.07/122.11 170.07/122.11 (1) (new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)=new_gcd0Gcd'1(False, x4, x5) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (2) (new_primRemInt(x2, x3)=x12 & new_esEs(x12)=False ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x12)=False which results in the following new constraints: 170.07/122.11 170.07/122.11 (3) (False=False & new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 170.07/122.11 170.07/122.11 (4) (False=False & new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (3) using rules (I), (II) which results in the following new constraint: 170.07/122.11 170.07/122.11 (5) (new_primRemInt(x2, x3)=Pos(Succ(x13)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (4) using rules (I), (II) which results in the following new constraint: 170.07/122.11 170.07/122.11 (6) (new_primRemInt(x2, x3)=Neg(Succ(x14)) ==> new_gcd0Gcd'0(x2, x3)_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(x2, x3)), x3, x2)) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (7) (Pos(new_primModNatS1(x16, x15))=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) 170.07/122.11 170.07/122.11 (8) (Pos(new_primModNatS1(x18, x17))=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) 170.07/122.11 170.07/122.11 (9) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x19), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x19), Neg(Zero))), Neg(Zero), Neg(x19))) 170.07/122.11 170.07/122.11 (10) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x22), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x22), Pos(Zero))), Pos(Zero), Pos(x22))) 170.07/122.11 170.07/122.11 (11) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Pos(x25), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x25), Neg(Zero))), Neg(Zero), Pos(x25))) 170.07/122.11 170.07/122.11 (12) (new_error=Pos(Succ(x13)) ==> new_gcd0Gcd'0(Neg(x26), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x26), Pos(Zero))), Pos(Zero), Neg(x26))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (7) using rules (I), (II) which results in the following new constraint: 170.07/122.11 170.07/122.11 (13) (new_primModNatS1(x16, x15)=Succ(x13) ==> new_gcd0Gcd'0(Pos(x16), Neg(Succ(x15)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x16), Neg(Succ(x15)))), Neg(Succ(x15)), Pos(x16))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (8) using rules (I), (II) which results in the following new constraint: 170.07/122.11 170.07/122.11 (14) (new_primModNatS1(x18, x17)=Succ(x13) ==> new_gcd0Gcd'0(Pos(x18), Pos(Succ(x17)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x18), Pos(Succ(x17)))), Pos(Succ(x17)), Pos(x18))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (15) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 (16) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 (17) (new_primModNatS1(new_primMinusNatS0(x29), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 170.07/122.11 170.07/122.11 (18) (new_primModNatS01(x31, x30, x31, x30)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x31))), Neg(Succ(Succ(x30))))), Neg(Succ(Succ(x30))), Pos(Succ(Succ(x31))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (15) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.11 170.07/122.11 (19) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (16) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (20) (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (17) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (21) (new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (18) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (23) (Succ(Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 (24) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 (25) (new_primModNatS1(new_primMinusNatS0(x40), Zero)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) 170.07/122.11 170.07/122.11 (26) (new_primModNatS01(x42, x41, x42, x41)=Succ(x13) ==> new_gcd0Gcd'0(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x42))), Pos(Succ(Succ(x41))))), Pos(Succ(Succ(x41))), Pos(Succ(Succ(x42))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (23) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.11 170.07/122.11 (27) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (24) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (28) (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (25) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (29) (new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (26) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (30) (new_gcd0Gcd'0(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (31) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x53), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x53), Neg(Zero))), Neg(Zero), Neg(x53))) 170.07/122.11 170.07/122.11 (32) (Neg(new_primModNatS1(x55, x54))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) 170.07/122.11 170.07/122.11 (33) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x56), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x56), Pos(Zero))), Pos(Zero), Pos(x56))) 170.07/122.11 170.07/122.11 (34) (Neg(new_primModNatS1(x58, x57))=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) 170.07/122.11 170.07/122.11 (35) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Pos(x59), Neg(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(x59), Neg(Zero))), Neg(Zero), Pos(x59))) 170.07/122.11 170.07/122.11 (36) (new_error=Neg(Succ(x14)) ==> new_gcd0Gcd'0(Neg(x60), Pos(Zero))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x60), Pos(Zero))), Pos(Zero), Neg(x60))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (37) (new_primModNatS1(x55, x54)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x55), Pos(Succ(x54)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x55), Pos(Succ(x54)))), Pos(Succ(x54)), Neg(x55))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (38) (new_primModNatS1(x58, x57)=Succ(x14) ==> new_gcd0Gcd'0(Neg(x58), Neg(Succ(x57)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(x58), Neg(Succ(x57)))), Neg(Succ(x57)), Neg(x58))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (39) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 (40) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 (41) (new_primModNatS1(new_primMinusNatS0(x63), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) 170.07/122.11 170.07/122.11 (42) (new_primModNatS01(x65, x64, x65, x64)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x65))), Pos(Succ(Succ(x64))))), Pos(Succ(Succ(x64))), Neg(Succ(Succ(x65))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (39) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.11 170.07/122.11 (43) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (40) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (44) (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (41) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (45) (new_gcd0Gcd'0(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (42) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (46) (new_gcd0Gcd'0(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 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: 170.07/122.11 170.07/122.11 (47) (Succ(Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 (48) (new_primModNatS1(new_primMinusNatS1, Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 (49) (new_primModNatS1(new_primMinusNatS0(x74), Zero)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) 170.07/122.11 170.07/122.11 (50) (new_primModNatS01(x76, x75, x76, x75)=Succ(x14) ==> new_gcd0Gcd'0(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x76))), Neg(Succ(Succ(x75))))), Neg(Succ(Succ(x75))), Neg(Succ(Succ(x76))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (47) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.11 170.07/122.11 (51) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (48) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (52) (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (49) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (53) (new_gcd0Gcd'0(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (50) using rules (III), (IV), (VII) which results in the following new constraint: 170.07/122.11 170.07/122.11 (54) (new_gcd0Gcd'0(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 For Pair new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) the following chains were created: 170.07/122.11 *We consider the chain new_gcd0Gcd'1(False, x6, x7) -> new_gcd0Gcd'0(x6, new_primRemInt(x7, x6)), new_gcd0Gcd'0(x8, x9) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(x8, x9)), x9, x8) which results in the following constraint: 170.07/122.11 170.07/122.11 (1) (new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))=new_gcd0Gcd'0(x8, x9) ==> new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.07/122.11 170.07/122.11 (2) (new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 To summarize, we get the following constraints P__>=_ for the following pairs. 170.07/122.11 170.07/122.11 *new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Succ(x27))))), Neg(Succ(Succ(x27))), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Succ(x38))))), Pos(Succ(Succ(x38))), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Succ(x61))))), Pos(Succ(Succ(x61))), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Succ(x72))))), Neg(Succ(Succ(x72))), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x29))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Pos(Succ(Succ(x29))))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x36))), Neg(Succ(Succ(x37))))), Neg(Succ(Succ(x37))), Pos(Succ(Succ(x36))))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x40))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Pos(Succ(Succ(x40))))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Pos(Succ(Succ(x47))), Pos(Succ(Succ(x48))))), Pos(Succ(Succ(x48))), Pos(Succ(Succ(x47))))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x63))), Pos(Succ(Zero)))), Pos(Succ(Zero)), Neg(Succ(Succ(x63))))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x70))), Pos(Succ(Succ(x71))))), Pos(Succ(Succ(x71))), Neg(Succ(Succ(x70))))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Zero)), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x74))), Neg(Succ(Zero)))), Neg(Succ(Zero)), Neg(Succ(Succ(x74))))) 170.07/122.11 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'0(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))_>=_new_gcd0Gcd'1(new_esEs(new_primRemInt(Neg(Succ(Succ(x81))), Neg(Succ(Succ(x82))))), Neg(Succ(Succ(x82))), Neg(Succ(Succ(x81))))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 *new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 170.07/122.11 *(new_gcd0Gcd'1(False, x6, x7)_>=_new_gcd0Gcd'0(x6, new_primRemInt(x7, x6))) 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 170.07/122.11 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (638) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (639) TransformationProof (EQUIVALENT) 170.07/122.11 By narrowing [LPAR04] the rule new_gcd0Gcd'0(vuz46, vuz45) -> new_gcd0Gcd'1(new_esEs(new_primRemInt(vuz46, vuz45)), vuz45, vuz46) at position [0] we obtained the following new rules [LPAR04]: 170.07/122.11 170.07/122.11 (new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0))) 170.07/122.11 (new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0))) 170.07/122.11 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0))) 170.07/122.11 (new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0))) 170.07/122.11 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0))) 170.07/122.11 (new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0))) 170.07/122.11 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0))) 170.07/122.11 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0))) 170.07/122.11 170.07/122.11 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (640) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (641) TransformationProof (EQUIVALENT) 170.07/122.11 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 170.07/122.11 170.07/122.11 (new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0))) 170.07/122.11 170.07/122.11 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (642) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Neg(x0)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (643) DependencyGraphProof (EQUIVALENT) 170.07/122.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (644) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (645) TransformationProof (EQUIVALENT) 170.07/122.11 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 170.07/122.11 170.07/122.11 (new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0))) 170.07/122.11 170.07/122.11 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (646) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Pos(x0)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.11 new_esEs(Neg(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.11 170.07/122.11 We have to consider all minimal (P,Q,R)-chains. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (647) DependencyGraphProof (EQUIVALENT) 170.07/122.11 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.07/122.11 ---------------------------------------- 170.07/122.11 170.07/122.11 (648) 170.07/122.11 Obligation: 170.07/122.11 Q DP problem: 170.07/122.11 The TRS P consists of the following rules: 170.07/122.11 170.07/122.11 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.11 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) 170.07/122.11 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 170.07/122.11 170.07/122.11 The TRS R consists of the following rules: 170.07/122.11 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.11 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.11 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.11 new_error -> error([]) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.11 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.11 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.11 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.11 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.11 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.11 new_primMinusNatS1 -> Zero 170.07/122.11 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.11 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Pos(Zero)) -> True 170.07/122.11 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.11 new_esEs(Neg(Zero)) -> True 170.07/122.11 170.07/122.11 The set Q consists of the following terms: 170.07/122.11 170.07/122.11 new_esEs(Pos(Succ(x0))) 170.07/122.11 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.11 new_primMinusNatS1 170.07/122.11 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.11 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.11 new_esEs(Neg(Succ(x0))) 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.11 new_primMinusNatS2(Zero, Zero) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.11 new_error 170.07/122.11 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.11 new_primModNatS1(Succ(Zero), Zero) 170.07/122.11 new_primMinusNatS0(x0) 170.07/122.11 new_esEs(Pos(Zero)) 170.07/122.11 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.11 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.11 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.11 new_primModNatS1(Zero, x0) 170.07/122.11 new_primModNatS02(x0, x1) 170.07/122.11 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.11 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.11 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (649) TransformationProof (EQUIVALENT) 170.07/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Neg(Zero), Pos(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)),new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (650) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Neg(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Neg(Zero), Pos(x0)) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_error -> error([]) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Pos(Zero)) -> True 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (651) DependencyGraphProof (EQUIVALENT) 170.07/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (652) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_error -> error([]) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Pos(Zero)) -> True 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (653) TransformationProof (EQUIVALENT) 170.07/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(new_error), Pos(Zero), Neg(x0)) at position [0,0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)),new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (654) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Zero)) -> new_gcd0Gcd'1(new_esEs(error([])), Pos(Zero), Neg(x0)) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_error -> error([]) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Pos(Zero)) -> True 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (655) DependencyGraphProof (EQUIVALENT) 170.07/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (656) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_error -> error([]) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Pos(Zero)) -> True 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (657) TransformationProof (EQUIVALENT) 170.07/122.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, vuz45, vuz46) -> new_gcd0Gcd'0(vuz45, new_primRemInt(vuz46, vuz45)) at position [1] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 170.07/122.12 (new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1)))) 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) 170.07/122.12 (new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 170.07/122.12 (new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1)))) 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error),new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error)) 170.07/122.12 (new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error),new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error)) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (658) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Zero), Neg(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 170.07/122.12 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Pos(Zero), Pos(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Zero), Pos(x0)) -> new_gcd0Gcd'0(Neg(Zero), new_error) 170.07/122.12 new_gcd0Gcd'1(False, Pos(Zero), Neg(x0)) -> new_gcd0Gcd'0(Pos(Zero), new_error) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_error -> error([]) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Pos(Zero)) -> True 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (659) DependencyGraphProof (EQUIVALENT) 170.07/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 4 less nodes. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (660) 170.07/122.12 Complex Obligation (AND) 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (661) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.07/122.12 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.07/122.12 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.07/122.12 new_error -> error([]) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Pos(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Pos(Zero)) -> True 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (662) UsableRulesProof (EQUIVALENT) 170.07/122.12 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (663) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (664) QReductionProof (EQUIVALENT) 170.07/122.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.07/122.12 170.07/122.12 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.07/122.12 new_error 170.07/122.12 new_primRemInt(Pos(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Neg(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Pos(Zero)) 170.07/122.12 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.07/122.12 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (665) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (666) TransformationProof (EQUIVALENT) 170.07/122.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero))) 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (667) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Neg(Zero)) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (668) DependencyGraphProof (EQUIVALENT) 170.07/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (669) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (670) TransformationProof (EQUIVALENT) 170.07/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (671) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (672) TransformationProof (EQUIVALENT) 170.07/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (673) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (674) DependencyGraphProof (EQUIVALENT) 170.07/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (675) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (676) TransformationProof (EQUIVALENT) 170.07/122.12 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 170.07/122.12 (new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero))) 170.07/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 170.07/122.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero)))) 170.07/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (677) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(x0)), Neg(Zero)) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (678) DependencyGraphProof (EQUIVALENT) 170.07/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (679) 170.07/122.12 Complex Obligation (AND) 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (680) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.07/122.12 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.07/122.12 new_primMinusNatS2(Zero, Zero) -> Zero 170.07/122.12 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.07/122.12 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (681) UsableRulesProof (EQUIVALENT) 170.07/122.12 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (682) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (683) QReductionProof (EQUIVALENT) 170.07/122.12 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.07/122.12 170.07/122.12 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.07/122.12 new_primMinusNatS2(Zero, Succ(x0)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.07/122.12 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.07/122.12 new_primMinusNatS2(Zero, Zero) 170.07/122.12 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.07/122.12 new_primModNatS02(x0, x1) 170.07/122.12 new_primModNatS01(x0, x1, Zero, Zero) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (684) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (685) TransformationProof (EQUIVALENT) 170.07/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0))))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (686) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.07/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.07/122.12 new_esEs(Neg(Zero)) -> True 170.07/122.12 170.07/122.12 The set Q consists of the following terms: 170.07/122.12 170.07/122.12 new_esEs(Pos(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.07/122.12 new_primMinusNatS1 170.07/122.12 new_esEs(Neg(Succ(x0))) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) 170.07/122.12 new_primMinusNatS0(x0) 170.07/122.12 new_esEs(Pos(Zero)) 170.07/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.07/122.12 new_primModNatS1(Zero, x0) 170.07/122.12 new_esEs(Neg(Zero)) 170.07/122.12 170.07/122.12 We have to consider all minimal (P,Q,R)-chains. 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (687) TransformationProof (EQUIVALENT) 170.07/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 170.07/122.12 170.07/122.12 (new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero)))) 170.07/122.12 170.07/122.12 170.07/122.12 ---------------------------------------- 170.07/122.12 170.07/122.12 (688) 170.07/122.12 Obligation: 170.07/122.12 Q DP problem: 170.07/122.12 The TRS P consists of the following rules: 170.07/122.12 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.07/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.07/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.07/122.12 170.07/122.12 The TRS R consists of the following rules: 170.07/122.12 170.07/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.07/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.07/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.07/122.12 new_primMinusNatS1 -> Zero 170.07/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (689) TransformationProof (EQUIVALENT) 170.10/122.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (690) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (691) TransformationProof (EQUIVALENT) 170.10/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (692) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (693) DependencyGraphProof (EQUIVALENT) 170.10/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (694) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (695) TransformationProof (EQUIVALENT) 170.10/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (696) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (697) TransformationProof (EQUIVALENT) 170.10/122.12 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero))))) 170.10/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (698) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Zero)))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (699) DependencyGraphProof (EQUIVALENT) 170.10/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (700) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (701) TransformationProof (EQUIVALENT) 170.10/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (702) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (703) TransformationProof (EQUIVALENT) 170.10/122.12 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (704) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (705) TransformationProof (EQUIVALENT) 170.10/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero)))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (706) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Zero, Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (707) DependencyGraphProof (EQUIVALENT) 170.10/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (708) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (709) TransformationProof (EQUIVALENT) 170.10/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (710) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (711) TransformationProof (EQUIVALENT) 170.10/122.12 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.12 170.10/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.12 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.12 170.10/122.12 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (712) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (713) DependencyGraphProof (EQUIVALENT) 170.10/122.12 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (714) 170.10/122.12 Obligation: 170.10/122.12 Q DP problem: 170.10/122.12 The TRS P consists of the following rules: 170.10/122.12 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.12 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.12 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.12 170.10/122.12 The TRS R consists of the following rules: 170.10/122.12 170.10/122.12 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.12 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.12 new_primMinusNatS1 -> Zero 170.10/122.12 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.12 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.12 new_esEs(Neg(Zero)) -> True 170.10/122.12 170.10/122.12 The set Q consists of the following terms: 170.10/122.12 170.10/122.12 new_esEs(Pos(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.12 new_primMinusNatS1 170.10/122.12 new_esEs(Neg(Succ(x0))) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.12 new_primModNatS1(Succ(Zero), Zero) 170.10/122.12 new_primMinusNatS0(x0) 170.10/122.12 new_esEs(Pos(Zero)) 170.10/122.12 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.12 new_primModNatS1(Zero, x0) 170.10/122.12 new_esEs(Neg(Zero)) 170.10/122.12 170.10/122.12 We have to consider all minimal (P,Q,R)-chains. 170.10/122.12 ---------------------------------------- 170.10/122.12 170.10/122.12 (715) TransformationProof (EQUIVALENT) 170.10/122.12 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (716) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.13 new_primMinusNatS1 -> Zero 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primMinusNatS1 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_primMinusNatS0(x0) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (717) QDPSizeChangeProof (EQUIVALENT) 170.10/122.13 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 170.10/122.13 170.10/122.13 Order:Polynomial interpretation [POLO]: 170.10/122.13 170.10/122.13 POL(False) = 1 170.10/122.13 POL(Neg(x_1)) = x_1 170.10/122.13 POL(Succ(x_1)) = 1 + x_1 170.10/122.13 POL(Zero) = 1 170.10/122.13 POL(new_primMinusNatS0(x_1)) = 1 + x_1 170.10/122.13 POL(new_primMinusNatS1) = 1 170.10/122.13 POL(new_primModNatS1(x_1, x_2)) = x_1 170.10/122.13 170.10/122.13 170.10/122.13 170.10/122.13 170.10/122.13 From the DPs we obtained the following set of size-change graphs: 170.10/122.13 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 170.10/122.13 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.13 170.10/122.13 170.10/122.13 *new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 170.10/122.13 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.13 170.10/122.13 170.10/122.13 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.13 The graph contains the following edges 2 >= 1, 3 >= 2 170.10/122.13 170.10/122.13 170.10/122.13 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.13 The graph contains the following edges 2 >= 1, 3 > 2 170.10/122.13 170.10/122.13 170.10/122.13 170.10/122.13 We oriented the following set of usable rules [AAECC05,FROCOS05]. 170.10/122.13 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.13 new_primMinusNatS1 -> Zero 170.10/122.13 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (718) 170.10/122.13 YES 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (719) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.13 new_primMinusNatS1 -> Zero 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primMinusNatS1 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_primMinusNatS0(x0) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (720) UsableRulesProof (EQUIVALENT) 170.10/122.13 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (721) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primMinusNatS1 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_primMinusNatS0(x0) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (722) QReductionProof (EQUIVALENT) 170.10/122.13 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.13 170.10/122.13 new_primMinusNatS1 170.10/122.13 new_primMinusNatS0(x0) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (723) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (724) TransformationProof (EQUIVALENT) 170.10/122.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (725) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (726) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (727) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (728) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (729) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (730) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (731) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (732) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (733) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (734) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (735) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (736) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (737) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (738) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (739) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (740) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (741) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (742) DependencyGraphProof (EQUIVALENT) 170.10/122.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (743) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (744) TransformationProof (EQUIVALENT) 170.10/122.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (745) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (746) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (747) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (748) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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))))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (749) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (750) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (751) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (752) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (753) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (754) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (755) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (756) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (757) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (758) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (759) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (760) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (761) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (762) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (763) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (764) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (765) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (766) DependencyGraphProof (EQUIVALENT) 170.10/122.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (767) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (768) TransformationProof (EQUIVALENT) 170.10/122.13 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 170.10/122.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 170.10/122.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 170.10/122.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (769) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (770) DependencyGraphProof (EQUIVALENT) 170.10/122.13 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (771) 170.10/122.13 Complex Obligation (AND) 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (772) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (773) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (774) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (775) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (776) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (777) TransformationProof (EQUIVALENT) 170.10/122.13 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (778) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.13 new_esEs(Neg(Zero)) 170.10/122.13 170.10/122.13 We have to consider all minimal (P,Q,R)-chains. 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (779) TransformationProof (EQUIVALENT) 170.10/122.13 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.13 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.13 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.13 170.10/122.13 170.10/122.13 ---------------------------------------- 170.10/122.13 170.10/122.13 (780) 170.10/122.13 Obligation: 170.10/122.13 Q DP problem: 170.10/122.13 The TRS P consists of the following rules: 170.10/122.13 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.13 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.13 170.10/122.13 The TRS R consists of the following rules: 170.10/122.13 170.10/122.13 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.13 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.13 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.13 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.13 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.13 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.13 new_esEs(Neg(Zero)) -> True 170.10/122.13 170.10/122.13 The set Q consists of the following terms: 170.10/122.13 170.10/122.13 new_esEs(Pos(Succ(x0))) 170.10/122.13 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.13 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.13 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.13 new_esEs(Neg(Succ(x0))) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.13 new_primMinusNatS2(Zero, Zero) 170.10/122.13 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.13 new_primModNatS1(Succ(Zero), Zero) 170.10/122.13 new_esEs(Pos(Zero)) 170.10/122.13 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.13 new_primModNatS1(Zero, x0) 170.10/122.13 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (781) TransformationProof (EQUIVALENT) 170.10/122.14 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (782) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (783) TransformationProof (EQUIVALENT) 170.10/122.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (784) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (785) DependencyGraphProof (EQUIVALENT) 170.10/122.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (786) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (787) QDPOrderProof (EQUIVALENT) 170.10/122.14 We use the reduction pair processor [LPAR04,JAR06]. 170.10/122.14 170.10/122.14 170.10/122.14 The following pairs can be oriented strictly and are deleted. 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.14 The remaining pairs can at least be oriented weakly. 170.10/122.14 Used ordering: Polynomial interpretation [POLO]: 170.10/122.14 170.10/122.14 POL(False) = 0 170.10/122.14 POL(Neg(x_1)) = 2*x_1 170.10/122.14 POL(Succ(x_1)) = 1 + x_1 170.10/122.14 POL(True) = 3 170.10/122.14 POL(Zero) = 2 170.10/122.14 POL(new_esEs(x_1)) = 0 170.10/122.14 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 170.10/122.14 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2 + x_2 + x_3 170.10/122.14 POL(new_primMinusNatS2(x_1, x_2)) = x_1 170.10/122.14 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 170.10/122.14 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 170.10/122.14 POL(new_primModNatS1(x_1, x_2)) = x_1 170.10/122.14 170.10/122.14 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 170.10/122.14 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (788) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (789) DependencyGraphProof (EQUIVALENT) 170.10/122.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (790) 170.10/122.14 TRUE 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (791) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (792) TransformationProof (EQUIVALENT) 170.10/122.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (793) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (794) DependencyGraphProof (EQUIVALENT) 170.10/122.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (795) 170.10/122.14 Complex Obligation (AND) 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (796) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (797) TransformationProof (EQUIVALENT) 170.10/122.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (798) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (799) TransformationProof (EQUIVALENT) 170.10/122.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (800) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (801) TransformationProof (EQUIVALENT) 170.10/122.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (802) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (803) TransformationProof (EQUIVALENT) 170.10/122.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (804) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (805) QReductionProof (EQUIVALENT) 170.10/122.14 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (806) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (807) InductionCalculusProof (EQUIVALENT) 170.10/122.14 Note that final constraints are written in bold face. 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.14 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: 170.10/122.14 170.10/122.14 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.10/122.14 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.14 170.10/122.14 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (2) (Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 170.10/122.14 170.10/122.14 (3) (False=False & Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (5) (new_primModNatS01(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.14 170.10/122.14 (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (7) (x25=x28 & x24=x29 & new_primModNatS01(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x25)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x25)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (8) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) 170.10/122.14 170.10/122.14 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) 170.10/122.14 170.10/122.14 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) 170.10/122.14 170.10/122.14 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.14 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.14 170.10/122.14 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x11))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.10/122.14 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x18))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.14 170.10/122.14 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (3) (new_primModNatS01(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (5) (x48=x51 & x47=x52 & new_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x18)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 (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'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.14 170.10/122.14 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x10))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (808) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (809) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (810) QReductionProof (EQUIVALENT) 170.10/122.14 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (811) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (812) InductionCalculusProof (EQUIVALENT) 170.10/122.14 Note that final constraints are written in bold face. 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.10/122.14 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Neg(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 170.10/122.14 170.10/122.14 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.14 170.10/122.14 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Neg(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 170.10/122.14 170.10/122.14 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.14 170.10/122.14 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (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'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (4) using rule (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x16)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (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'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.14 170.10/122.14 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 170.10/122.14 170.10/122.14 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 170.10/122.14 170.10/122.14 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.10/122.14 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Neg(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 170.10/122.14 170.10/122.14 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (2) (Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraint: 170.10/122.14 170.10/122.14 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Neg(Succ(x53)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x6))))), Neg(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Neg(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x59))))), Neg(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Neg(Succ(Succ(Succ(Succ(x58))))), Neg(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) 170.10/122.14 170.10/122.14 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.14 170.10/122.14 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (6) using rule (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x59)))))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))), Neg(Succ(Succ(Succ(Succ(Succ(x59)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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: 170.10/122.14 170.10/122.14 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x78)))))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Neg(Succ(Succ(Succ(Succ(Succ(x77)))))), Neg(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 170.10/122.14 170.10/122.14 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 170.10/122.14 170.10/122.14 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (18) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.14 170.10/122.14 (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.14 170.10/122.14 (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.14 170.10/122.14 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x24)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Neg(Succ(Succ(Succ(Succ(Succ(x66)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 170.10/122.14 170.10/122.14 170.10/122.14 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 170.10/122.14 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. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (813) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.14 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (814) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.10/122.14 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.10/122.14 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.10/122.14 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.10/122.14 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.10/122.14 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.10/122.14 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.10/122.14 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.10/122.14 new_error -> error([]) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_primMinusNatS1 -> Zero 170.10/122.14 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.14 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Pos(Zero)) -> True 170.10/122.14 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Neg(Zero)) -> True 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primMinusNatS1 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.10/122.14 new_error 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primMinusNatS0(x0) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primRemInt(Pos(x0), Neg(Zero)) 170.10/122.14 new_primRemInt(Neg(x0), Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primRemInt(Neg(x0), Neg(Zero)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_primRemInt(Pos(x0), Pos(Zero)) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.10/122.14 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (815) UsableRulesProof (EQUIVALENT) 170.10/122.14 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. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (816) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Pos(Zero)) -> True 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.14 new_primMinusNatS1 -> Zero 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primMinusNatS1 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.10/122.14 new_error 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primMinusNatS0(x0) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primRemInt(Pos(x0), Neg(Zero)) 170.10/122.14 new_primRemInt(Neg(x0), Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primRemInt(Neg(x0), Neg(Zero)) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_primRemInt(Pos(x0), Pos(Zero)) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.10/122.14 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (817) QReductionProof (EQUIVALENT) 170.10/122.14 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.14 170.10/122.14 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.10/122.14 new_error 170.10/122.14 new_primRemInt(Pos(x0), Neg(Zero)) 170.10/122.14 new_primRemInt(Neg(x0), Pos(Zero)) 170.10/122.14 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.10/122.14 new_primRemInt(Neg(x0), Neg(Zero)) 170.10/122.14 new_primRemInt(Pos(x0), Pos(Zero)) 170.10/122.14 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.10/122.14 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (818) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Pos(Zero)) -> True 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.14 new_primMinusNatS1 -> Zero 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primMinusNatS1 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primMinusNatS0(x0) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (819) TransformationProof (EQUIVALENT) 170.10/122.14 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 170.10/122.14 (new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero))) 170.10/122.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.14 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (820) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Pos(Zero)) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Pos(Zero)) -> True 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.14 new_primMinusNatS1 -> Zero 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primMinusNatS1 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primMinusNatS0(x0) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (821) DependencyGraphProof (EQUIVALENT) 170.10/122.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (822) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Pos(Zero)) -> True 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.14 new_primMinusNatS1 -> Zero 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primMinusNatS1 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primMinusNatS0(x0) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (823) TransformationProof (EQUIVALENT) 170.10/122.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (824) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Pos(Zero)) -> True 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.14 new_primMinusNatS1 -> Zero 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primMinusNatS1 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primMinusNatS0(x0) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (825) TransformationProof (EQUIVALENT) 170.10/122.14 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.14 170.10/122.14 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 170.10/122.14 170.10/122.14 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (826) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.14 new_esEs(Pos(Zero)) -> True 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.14 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.14 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.14 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.14 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.14 new_primMinusNatS1 -> Zero 170.10/122.14 170.10/122.14 The set Q consists of the following terms: 170.10/122.14 170.10/122.14 new_esEs(Pos(Succ(x0))) 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.14 new_primMinusNatS1 170.10/122.14 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.14 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.14 new_esEs(Neg(Succ(x0))) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.14 new_primMinusNatS2(Zero, Zero) 170.10/122.14 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) 170.10/122.14 new_primMinusNatS0(x0) 170.10/122.14 new_esEs(Pos(Zero)) 170.10/122.14 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.14 new_primModNatS1(Zero, x0) 170.10/122.14 new_primModNatS02(x0, x1) 170.10/122.14 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.14 new_esEs(Neg(Zero)) 170.10/122.14 170.10/122.14 We have to consider all minimal (P,Q,R)-chains. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (827) DependencyGraphProof (EQUIVALENT) 170.10/122.14 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.14 ---------------------------------------- 170.10/122.14 170.10/122.14 (828) 170.10/122.14 Obligation: 170.10/122.14 Q DP problem: 170.10/122.14 The TRS P consists of the following rules: 170.10/122.14 170.10/122.14 new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.14 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.14 170.10/122.14 The TRS R consists of the following rules: 170.10/122.14 170.10/122.14 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.14 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.14 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.14 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.14 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.14 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (829) TransformationProof (EQUIVALENT) 170.10/122.15 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero)))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (830) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(x0)), Pos(Zero)) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (831) DependencyGraphProof (EQUIVALENT) 170.10/122.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 2 less nodes. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (832) 170.10/122.15 Complex Obligation (AND) 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (833) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (834) UsableRulesProof (EQUIVALENT) 170.10/122.15 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (835) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (836) QReductionProof (EQUIVALENT) 170.10/122.15 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.15 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (837) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (838) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (839) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (840) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero)))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (841) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (842) TransformationProof (EQUIVALENT) 170.10/122.15 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (843) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (844) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (845) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (846) DependencyGraphProof (EQUIVALENT) 170.10/122.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (847) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (848) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (849) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (850) TransformationProof (EQUIVALENT) 170.10/122.15 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (851) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (852) DependencyGraphProof (EQUIVALENT) 170.10/122.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (853) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (854) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (855) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (856) TransformationProof (EQUIVALENT) 170.10/122.15 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (857) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (858) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (859) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (860) DependencyGraphProof (EQUIVALENT) 170.10/122.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (861) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (862) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (863) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (864) TransformationProof (EQUIVALENT) 170.10/122.15 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (865) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (866) DependencyGraphProof (EQUIVALENT) 170.10/122.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (867) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (868) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (869) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (870) QDPSizeChangeProof (EQUIVALENT) 170.10/122.15 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 170.10/122.15 170.10/122.15 Order:Polynomial interpretation [POLO]: 170.10/122.15 170.10/122.15 POL(False) = 1 170.10/122.15 POL(Pos(x_1)) = x_1 170.10/122.15 POL(Succ(x_1)) = 1 + x_1 170.10/122.15 POL(Zero) = 1 170.10/122.15 POL(new_primMinusNatS0(x_1)) = 1 + x_1 170.10/122.15 POL(new_primMinusNatS1) = 1 170.10/122.15 POL(new_primModNatS1(x_1, x_2)) = x_1 170.10/122.15 170.10/122.15 170.10/122.15 170.10/122.15 170.10/122.15 From the DPs we obtained the following set of size-change graphs: 170.10/122.15 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 170.10/122.15 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.15 170.10/122.15 170.10/122.15 *new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 170.10/122.15 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.15 170.10/122.15 170.10/122.15 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.15 The graph contains the following edges 2 >= 1, 3 >= 2 170.10/122.15 170.10/122.15 170.10/122.15 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.15 The graph contains the following edges 2 >= 1, 3 > 2 170.10/122.15 170.10/122.15 170.10/122.15 170.10/122.15 We oriented the following set of usable rules [AAECC05,FROCOS05]. 170.10/122.15 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (871) 170.10/122.15 YES 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (872) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.15 new_primMinusNatS1 -> Zero 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (873) UsableRulesProof (EQUIVALENT) 170.10/122.15 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (874) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (875) QReductionProof (EQUIVALENT) 170.10/122.15 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.15 170.10/122.15 new_primMinusNatS1 170.10/122.15 new_primMinusNatS0(x0) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (876) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (877) TransformationProof (EQUIVALENT) 170.10/122.15 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (878) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (879) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (880) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (881) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (882) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (883) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (884) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (885) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (886) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (887) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (888) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (889) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (890) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (891) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (892) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (893) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (894) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (895) DependencyGraphProof (EQUIVALENT) 170.10/122.15 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (896) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (897) TransformationProof (EQUIVALENT) 170.10/122.15 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (898) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (899) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (900) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.15 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.15 new_esEs(Neg(Succ(x0))) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.15 new_primMinusNatS2(Zero, Zero) 170.10/122.15 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.15 new_primModNatS1(Succ(Zero), Zero) 170.10/122.15 new_esEs(Pos(Zero)) 170.10/122.15 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.15 new_primModNatS1(Zero, x0) 170.10/122.15 new_primModNatS02(x0, x1) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.15 new_esEs(Neg(Zero)) 170.10/122.15 170.10/122.15 We have to consider all minimal (P,Q,R)-chains. 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (901) TransformationProof (EQUIVALENT) 170.10/122.15 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.15 170.10/122.15 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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))))))) 170.10/122.15 170.10/122.15 170.10/122.15 ---------------------------------------- 170.10/122.15 170.10/122.15 (902) 170.10/122.15 Obligation: 170.10/122.15 Q DP problem: 170.10/122.15 The TRS P consists of the following rules: 170.10/122.15 170.10/122.15 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.15 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.15 170.10/122.15 The TRS R consists of the following rules: 170.10/122.15 170.10/122.15 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.15 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.15 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.15 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.15 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.15 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.15 new_esEs(Pos(Zero)) -> True 170.10/122.15 170.10/122.15 The set Q consists of the following terms: 170.10/122.15 170.10/122.15 new_esEs(Pos(Succ(x0))) 170.10/122.15 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.15 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (903) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (904) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (905) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (906) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (907) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (908) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (909) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (910) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (911) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (912) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (913) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (914) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (915) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (916) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (917) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (918) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (919) DependencyGraphProof (EQUIVALENT) 170.10/122.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (920) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (921) TransformationProof (EQUIVALENT) 170.10/122.16 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (922) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (923) DependencyGraphProof (EQUIVALENT) 170.10/122.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (924) 170.10/122.16 Complex Obligation (AND) 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (925) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (926) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (927) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (928) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (929) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (930) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (931) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (932) TransformationProof (EQUIVALENT) 170.10/122.16 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (933) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (934) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (935) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (936) TransformationProof (EQUIVALENT) 170.10/122.16 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (937) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (938) DependencyGraphProof (EQUIVALENT) 170.10/122.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (939) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (940) QDPOrderProof (EQUIVALENT) 170.10/122.16 We use the reduction pair processor [LPAR04,JAR06]. 170.10/122.16 170.10/122.16 170.10/122.16 The following pairs can be oriented strictly and are deleted. 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.16 The remaining pairs can at least be oriented weakly. 170.10/122.16 Used ordering: Polynomial interpretation [POLO]: 170.10/122.16 170.10/122.16 POL(False) = 0 170.10/122.16 POL(Pos(x_1)) = 2*x_1 170.10/122.16 POL(Succ(x_1)) = 1 + x_1 170.10/122.16 POL(True) = 3 170.10/122.16 POL(Zero) = 2 170.10/122.16 POL(new_esEs(x_1)) = 0 170.10/122.16 POL(new_gcd0Gcd'0(x_1, x_2)) = 2 + x_1 + x_2 170.10/122.16 POL(new_gcd0Gcd'1(x_1, x_2, x_3)) = 2 + x_2 + x_3 170.10/122.16 POL(new_primMinusNatS2(x_1, x_2)) = x_1 170.10/122.16 POL(new_primModNatS01(x_1, x_2, x_3, x_4)) = 2 + x_1 170.10/122.16 POL(new_primModNatS02(x_1, x_2)) = 2 + x_1 170.10/122.16 POL(new_primModNatS1(x_1, x_2)) = x_1 170.10/122.16 170.10/122.16 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 170.10/122.16 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (941) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (942) DependencyGraphProof (EQUIVALENT) 170.10/122.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (943) 170.10/122.16 TRUE 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (944) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (945) TransformationProof (EQUIVALENT) 170.10/122.16 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (946) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (947) DependencyGraphProof (EQUIVALENT) 170.10/122.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 1 less node. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (948) 170.10/122.16 Complex Obligation (AND) 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (949) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (950) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (951) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (952) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (953) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (954) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (955) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (956) TransformationProof (EQUIVALENT) 170.10/122.16 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.16 170.10/122.16 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (957) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (958) QReductionProof (EQUIVALENT) 170.10/122.16 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 170.10/122.16 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (959) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 170.10/122.16 We have to consider all (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (960) InductionCalculusProof (EQUIVALENT) 170.10/122.16 Note that final constraints are written in bold face. 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.16 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) which results in the following constraint: 170.10/122.16 170.10/122.16 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.16 170.10/122.16 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.10/122.16 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x9), Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.16 170.10/122.16 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.16 170.10/122.16 (2) (Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 170.10/122.16 170.10/122.16 (3) (False=False & Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.16 170.10/122.16 (4) (Succ(x8)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (4) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS1(x22, x23)=Succ(x21) which results in the following new constraints: 170.10/122.16 170.10/122.16 (5) (new_primModNatS01(x25, x24, x25, x24)=Succ(x21) & Succ(x8)=Succ(Succ(x25)) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.16 170.10/122.16 (6) (Succ(Zero)=Succ(x21) & Succ(x8)=Succ(Zero) & Succ(Succ(Zero))=Succ(x26) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.16 170.10/122.16 (7) (x25=x28 & x24=x29 & new_primModNatS01(x25, x24, x28, x29)=Succ(x21) & Succ(Zero)=x24 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x25)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x25)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x25)))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.16 170.10/122.16 (8) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 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: 170.10/122.16 170.10/122.16 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) 170.10/122.16 170.10/122.16 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) 170.10/122.16 170.10/122.16 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) 170.10/122.16 170.10/122.16 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We solved constraint (9) using rules (I), (II), (III).We simplified constraint (10) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 170.10/122.16 170.10/122.16 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We solved constraint (11) using rules (I), (II), (III).We simplified constraint (12) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.16 170.10/122.16 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.16 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.16 170.10/122.16 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x11))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.16 170.10/122.16 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.10/122.16 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x18))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.16 170.10/122.16 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x18)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.16 170.10/122.16 (2) (Succ(x17)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x18)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 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: 170.10/122.16 170.10/122.16 (3) (new_primModNatS01(x48, x47, x48, x47)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Succ(x48)) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 (4) (Succ(Zero)=Succ(Succ(Succ(Succ(x18)))) & Succ(x17)=Succ(Zero) & Succ(Succ(Zero))=Succ(x49) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x17), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.16 170.10/122.16 (5) (x48=x51 & x47=x52 & new_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) & Succ(Zero)=x47 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x48)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x48)), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We solved constraint (4) using rules (I), (II).We simplified constraint (5) using rule (V) (with possible (I) afterwards) using induction on new_primModNatS01(x48, x47, x51, x52)=Succ(Succ(Succ(Succ(x18)))) which results in the following new constraints: 170.10/122.16 170.10/122.16 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x18)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 (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'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x18)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x18)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We solved constraint (6) using rules (I), (II), (III).We simplified constraint (7) using rules (I), (II), (III), (IV), (VII) which results in the following new constraint: 170.10/122.16 170.10/122.16 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.16 170.10/122.16 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 170.10/122.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.16 170.10/122.16 170.10/122.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.16 170.10/122.16 170.10/122.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x10))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 170.10/122.16 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (961) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.16 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.16 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.16 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.16 new_esEs(Pos(Zero)) -> True 170.10/122.16 170.10/122.16 The set Q consists of the following terms: 170.10/122.16 170.10/122.16 new_esEs(Pos(Succ(x0))) 170.10/122.16 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.16 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.16 new_esEs(Neg(Succ(x0))) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.16 new_primMinusNatS2(Zero, Zero) 170.10/122.16 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.16 new_primModNatS1(Succ(Zero), Zero) 170.10/122.16 new_esEs(Pos(Zero)) 170.10/122.16 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.16 new_primModNatS1(Zero, x0) 170.10/122.16 new_primModNatS02(x0, x1) 170.10/122.16 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.16 new_esEs(Neg(Zero)) 170.10/122.16 170.10/122.16 We have to consider all minimal (P,Q,R)-chains. 170.10/122.16 ---------------------------------------- 170.10/122.16 170.10/122.16 (962) 170.10/122.16 Obligation: 170.10/122.16 Q DP problem: 170.10/122.16 The TRS P consists of the following rules: 170.10/122.16 170.10/122.16 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.16 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.16 170.10/122.16 The TRS R consists of the following rules: 170.10/122.16 170.10/122.16 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.16 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.16 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (963) QReductionProof (EQUIVALENT) 170.10/122.17 We deleted the following terms from Q as they contain symbols which do neither occur in P nor in R.[THIEMANN]. 170.10/122.17 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (964) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 170.10/122.17 We have to consider all (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (965) InductionCalculusProof (EQUIVALENT) 170.10/122.17 Note that final constraints are written in bold face. 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.10/122.17 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Pos(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 170.10/122.17 170.10/122.17 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Pos(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.17 170.10/122.17 (2) (Succ(Succ(x3))=x12 & Succ(Succ(x2))=x13 & new_primModNatS01(x12, x13, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (3) (new_primModNatS02(x15, x14)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x15 & Succ(Succ(Zero))=x14 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.17 170.10/122.17 (4) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 & (\/x20:new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x20)))) & Succ(Succ(x17))=x19 & Succ(Succ(x16))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 170.10/122.17 170.10/122.17 (5) (new_primModNatS02(x23, x22)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x21)))=x23 & Succ(Succ(Zero))=x22 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.17 170.10/122.17 (6) (Succ(Succ(x26))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x26 & Succ(Succ(Succ(x24)))=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (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'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (4) using rule (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (8) (new_primModNatS01(x19, x18, x17, x16)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x17)))=x19 & Succ(Succ(Succ(x16)))=x18 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(Succ(Succ(Succ(Succ(Succ(x17)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x16)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x17))), Succ(Succ(Succ(x16))), Succ(x17), Succ(x16))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (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'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.17 170.10/122.17 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (12) (new_primModNatS02(x34, x33)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x34 & Succ(Succ(Succ(Zero)))=x33 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.17 170.10/122.17 (13) (new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x36))))=x38 & Succ(Succ(Succ(Succ(x35))))=x37 & (\/x39:new_primModNatS01(x38, x37, x36, x35)=Succ(Succ(Succ(Succ(x39)))) & Succ(Succ(Succ(x36)))=x38 & Succ(Succ(Succ(x35)))=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Succ(Succ(x36)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x36))), Succ(Succ(Succ(x35))), Succ(x36), Succ(x35))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 170.10/122.17 170.10/122.17 (14) (new_primModNatS02(x42, x41)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x40))))=x42 & Succ(Succ(Succ(Zero)))=x41 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 170.10/122.17 170.10/122.17 (15) (Succ(Succ(x45))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x45 & Succ(Succ(Succ(Succ(x43))))=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.17 170.10/122.17 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.10/122.17 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Pos(new_primModNatS01(Succ(Succ(x9)), Succ(Succ(x8)), x9, x8))) which results in the following constraint: 170.10/122.17 170.10/122.17 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Succ(x9)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.17 170.10/122.17 (2) (Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=x52 & new_esEs(x52)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x52)=False which results in the following new constraint: 170.10/122.17 170.10/122.17 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))=Pos(Succ(x53)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.17 170.10/122.17 (4) (Succ(Succ(x6))=x54 & Succ(Succ(x7))=x55 & new_primModNatS01(x54, x55, x6, x7)=Succ(x53) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x6))))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x6)), Succ(Succ(x7)), x6, x7))), Pos(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Succ(x6))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (5) (new_primModNatS02(x57, x56)=Succ(x53) & Succ(Succ(Zero))=x57 & Succ(Succ(Zero))=x56 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.17 170.10/122.17 (6) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 & (\/x62:new_primModNatS01(x61, x60, x59, x58)=Succ(x62) & Succ(Succ(x59))=x61 & Succ(Succ(x58))=x60 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x59))))), Pos(Succ(Succ(Succ(Succ(x58))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x59)), Succ(Succ(x58)), x59, x58))), Pos(Succ(Succ(Succ(Succ(x58))))), Pos(Succ(Succ(Succ(Succ(x59))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) 170.10/122.17 170.10/122.17 (7) (new_primModNatS02(x65, x64)=Succ(x53) & Succ(Succ(Succ(x63)))=x65 & Succ(Succ(Zero))=x64 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.17 170.10/122.17 (8) (Succ(Succ(x68))=Succ(x53) & Succ(Succ(Zero))=x68 & Succ(Succ(Succ(x66)))=x67 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x53) & Succ(Succ(Zero))=x70 & Succ(Succ(Zero))=x69 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (6) using rule (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (10) (new_primModNatS01(x61, x60, x59, x58)=Succ(x53) & Succ(Succ(Succ(x59)))=x61 & Succ(Succ(Succ(x58)))=x60 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x59)))))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x59))), Succ(Succ(Succ(x58))), Succ(x59), Succ(x58)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))), Pos(Succ(Succ(Succ(Succ(Succ(x59)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x89), Succ(x88)), Succ(x88))=Succ(x53) & Succ(Succ(Succ(x63)))=x89 & Succ(Succ(Zero))=x88 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (8) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.17 170.10/122.17 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 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: 170.10/122.17 170.10/122.17 (14) (new_primModNatS02(x76, x75)=Succ(x53) & Succ(Succ(Succ(Zero)))=x76 & Succ(Succ(Succ(Zero)))=x75 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.17 170.10/122.17 (15) (new_primModNatS01(x80, x79, x78, x77)=Succ(x53) & Succ(Succ(Succ(Succ(x78))))=x80 & Succ(Succ(Succ(Succ(x77))))=x79 & (\/x81:new_primModNatS01(x80, x79, x78, x77)=Succ(x81) & Succ(Succ(Succ(x78)))=x80 & Succ(Succ(Succ(x77)))=x79 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x78)))))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x78))), Succ(Succ(Succ(x77))), Succ(x78), Succ(x77)))), Pos(Succ(Succ(Succ(Succ(Succ(x77)))))), Pos(Succ(Succ(Succ(Succ(Succ(x78)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 170.10/122.17 170.10/122.17 (16) (new_primModNatS02(x84, x83)=Succ(x53) & Succ(Succ(Succ(Succ(x82))))=x84 & Succ(Succ(Succ(Zero)))=x83 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 170.10/122.17 170.10/122.17 (17) (Succ(Succ(x87))=Succ(x53) & Succ(Succ(Succ(Zero)))=x87 & Succ(Succ(Succ(Succ(x85))))=x86 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (18) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.17 170.10/122.17 (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.17 170.10/122.17 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.17 170.10/122.17 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x43))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x43)))), Succ(Zero), Succ(Succ(x43)))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x24)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x24))), Zero, Succ(x24))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x36))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x35))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x36)))), Succ(Succ(Succ(Succ(x35)))), Succ(Succ(x36)), Succ(Succ(x35)))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x40))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x40)))), Succ(Succ(Succ(Zero))), Succ(Succ(x40)), Succ(Zero))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x21)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x21))), Succ(Succ(Zero)), Succ(x21), Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x85)))), Succ(Zero), Succ(Succ(x85))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x85))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x66))), Zero, Succ(x66)))), Pos(Succ(Succ(Succ(Succ(Succ(x66)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x78)))), Succ(Succ(Succ(Succ(x77)))), Succ(Succ(x78)), Succ(Succ(x77))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x77))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x78))))))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x82)))), Succ(Succ(Succ(Zero))), Succ(Succ(x82)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x82))))))))) 170.10/122.17 170.10/122.17 170.10/122.17 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x63))), Succ(Succ(Zero)), Succ(x63), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x63)))))))) 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 170.10/122.17 The constraints for P_> respective P_bound are constructed from P__>=_ where we just replace every occurence of "t _>=_ s" in P__>=_ by "t > s" respective "t _>=_ c". Here c stands for the fresh constant used for P_bound. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (966) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (967) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primRemInt(Pos(vuz460), Neg(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.10/122.17 new_primRemInt(Pos(vuz460), Pos(Succ(vuz4500))) -> Pos(new_primModNatS1(vuz460, vuz4500)) 170.10/122.17 new_primRemInt(Neg(vuz460), Neg(Zero)) -> new_error 170.10/122.17 new_primRemInt(Neg(vuz460), Pos(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.10/122.17 new_primRemInt(Pos(vuz460), Pos(Zero)) -> new_error 170.10/122.17 new_primRemInt(Neg(vuz460), Neg(Succ(vuz4500))) -> Neg(new_primModNatS1(vuz460, vuz4500)) 170.10/122.17 new_primRemInt(Pos(vuz460), Neg(Zero)) -> new_error 170.10/122.17 new_primRemInt(Neg(vuz460), Pos(Zero)) -> new_error 170.10/122.17 new_error -> error([]) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.10/122.17 new_error 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primRemInt(Pos(x0), Neg(Zero)) 170.10/122.17 new_primRemInt(Neg(x0), Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primRemInt(Neg(x0), Neg(Zero)) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_primRemInt(Pos(x0), Pos(Zero)) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.10/122.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (968) UsableRulesProof (EQUIVALENT) 170.10/122.17 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. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (969) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.10/122.17 new_error 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primRemInt(Pos(x0), Neg(Zero)) 170.10/122.17 new_primRemInt(Neg(x0), Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primRemInt(Neg(x0), Neg(Zero)) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_primRemInt(Pos(x0), Pos(Zero)) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.10/122.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (970) QReductionProof (EQUIVALENT) 170.10/122.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.17 170.10/122.17 new_primRemInt(Neg(x0), Neg(Succ(x1))) 170.10/122.17 new_error 170.10/122.17 new_primRemInt(Pos(x0), Neg(Zero)) 170.10/122.17 new_primRemInt(Neg(x0), Pos(Zero)) 170.10/122.17 new_primRemInt(Pos(x0), Pos(Succ(x1))) 170.10/122.17 new_primRemInt(Neg(x0), Neg(Zero)) 170.10/122.17 new_primRemInt(Pos(x0), Pos(Zero)) 170.10/122.17 new_primRemInt(Pos(x0), Neg(Succ(x1))) 170.10/122.17 new_primRemInt(Neg(x0), Pos(Succ(x1))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (971) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (972) TransformationProof (EQUIVALENT) 170.10/122.17 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(x1)), Pos(x0)) -> new_gcd0Gcd'0(Neg(Succ(x1)), Pos(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero))) 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1)))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (973) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(x0)), Pos(Zero)) -> new_gcd0Gcd'0(Neg(Succ(x0)), Pos(Zero)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (974) DependencyGraphProof (EQUIVALENT) 170.10/122.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (975) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (976) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (977) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (978) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (979) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (980) DependencyGraphProof (EQUIVALENT) 170.10/122.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (981) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (982) TransformationProof (EQUIVALENT) 170.10/122.17 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(x0), Neg(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(x0, x1))), Neg(Succ(x1)), Pos(x0)) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 170.10/122.17 (new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)),new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero))) 170.10/122.17 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 170.10/122.17 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero)))) 170.10/122.17 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0))))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (983) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Zero), Neg(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Pos(Zero)), Neg(Succ(x0)), Pos(Zero)) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (984) DependencyGraphProof (EQUIVALENT) 170.10/122.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (985) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (986) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(x0))), Pos(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))),new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (987) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (988) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))),new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0))))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (989) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (990) TransformationProof (EQUIVALENT) 170.10/122.17 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(x0), Pos(Succ(x1))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(x0, x1))), Pos(Succ(x1)), Neg(x0)) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 170.10/122.17 (new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero))) 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0))))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (991) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Zero), Pos(Succ(x0))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(x0)), Neg(Zero)) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (992) DependencyGraphProof (EQUIVALENT) 170.10/122.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (993) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (994) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))),new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0))))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (995) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (996) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(x0))), Neg(Succ(Zero))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (997) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (998) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(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]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (999) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1000) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Zero))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))),new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero)))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1001) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1002) DependencyGraphProof (EQUIVALENT) 170.10/122.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1003) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1004) TransformationProof (EQUIVALENT) 170.10/122.17 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x1))), Pos(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero)))) 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero)))) 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1005) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1006) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 170.10/122.17 170.10/122.17 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1007) 170.10/122.17 Obligation: 170.10/122.17 Q DP problem: 170.10/122.17 The TRS P consists of the following rules: 170.10/122.17 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.17 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.17 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 170.10/122.17 170.10/122.17 The TRS R consists of the following rules: 170.10/122.17 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.17 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.17 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.17 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.17 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Pos(Zero)) -> True 170.10/122.17 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.17 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.17 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.17 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.17 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.17 new_primMinusNatS1 -> Zero 170.10/122.17 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.17 new_esEs(Neg(Zero)) -> True 170.10/122.17 170.10/122.17 The set Q consists of the following terms: 170.10/122.17 170.10/122.17 new_esEs(Pos(Succ(x0))) 170.10/122.17 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.17 new_primMinusNatS1 170.10/122.17 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.17 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.17 new_esEs(Neg(Succ(x0))) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.17 new_primMinusNatS2(Zero, Zero) 170.10/122.17 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.17 new_primModNatS1(Succ(Zero), Zero) 170.10/122.17 new_primMinusNatS0(x0) 170.10/122.17 new_esEs(Pos(Zero)) 170.10/122.17 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.17 new_primModNatS1(Zero, x0) 170.10/122.17 new_primModNatS02(x0, x1) 170.10/122.17 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.17 new_esEs(Neg(Zero)) 170.10/122.17 170.10/122.17 We have to consider all minimal (P,Q,R)-chains. 170.10/122.17 ---------------------------------------- 170.10/122.17 170.10/122.17 (1008) TransformationProof (EQUIVALENT) 170.10/122.17 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.17 170.10/122.17 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1009) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1010) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1011) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1012) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1013) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1014) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1015) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Zero, Succ(Zero)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1016) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1017) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1018) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1019) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1020) TransformationProof (EQUIVALENT) 170.10/122.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(x1)), Neg(x0)) -> new_gcd0Gcd'0(Pos(Succ(x1)), Neg(new_primModNatS1(x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero)))) 170.10/122.18 (new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)),new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero))) 170.10/122.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.18 (new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))),new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1021) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(x0)), Neg(Zero)) -> new_gcd0Gcd'0(Pos(Succ(x0)), Neg(Zero)) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1022) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1023) 170.10/122.18 Complex Obligation (AND) 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1024) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1025) UsableRulesProof (EQUIVALENT) 170.10/122.18 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. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1026) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1027) QReductionProof (EQUIVALENT) 170.10/122.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.18 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1028) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1029) TransformationProof (EQUIVALENT) 170.10/122.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1030) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1031) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1032) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1033) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1034) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1035) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1036) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1037) TransformationProof (EQUIVALENT) 170.10/122.18 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero))))) 170.10/122.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1038) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1039) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1040) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1041) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1042) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1043) TransformationProof (EQUIVALENT) 170.10/122.18 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1044) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1045) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS1, Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1046) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Zero, Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1047) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1048) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1049) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1050) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1051) TransformationProof (EQUIVALENT) 170.10/122.18 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x0)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1052) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS1, Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1053) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1054) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1055) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1056) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1057) QDPSizeChangeProof (EQUIVALENT) 170.10/122.18 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 170.10/122.18 170.10/122.18 Order:Polynomial interpretation [POLO]: 170.10/122.18 170.10/122.18 POL(False) = 1 170.10/122.18 POL(Neg(x_1)) = 1 170.10/122.18 POL(Pos(x_1)) = x_1 170.10/122.18 POL(Succ(x_1)) = 1 + x_1 170.10/122.18 POL(Zero) = 1 170.10/122.18 POL(new_primMinusNatS0(x_1)) = 1 + x_1 170.10/122.18 POL(new_primMinusNatS1) = 1 170.10/122.18 POL(new_primModNatS1(x_1, x_2)) = x_1 170.10/122.18 170.10/122.18 170.10/122.18 170.10/122.18 170.10/122.18 From the DPs we obtained the following set of size-change graphs: 170.10/122.18 *new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 170.10/122.18 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.18 170.10/122.18 170.10/122.18 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x0), Zero))), Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 170.10/122.18 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.18 170.10/122.18 170.10/122.18 *new_gcd0Gcd'1(False, Pos(Succ(Succ(x0))), Neg(Succ(Zero))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.18 The graph contains the following edges 2 >= 1, 3 >= 2 170.10/122.18 170.10/122.18 170.10/122.18 *new_gcd0Gcd'1(False, Neg(Succ(Zero)), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Zero)), Pos(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.18 The graph contains the following edges 2 >= 1, 3 > 2 170.10/122.18 170.10/122.18 170.10/122.18 170.10/122.18 We oriented the following set of usable rules [AAECC05,FROCOS05]. 170.10/122.18 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1058) 170.10/122.18 YES 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1059) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.18 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.18 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Pos(Zero)) -> True 170.10/122.18 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.18 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.18 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.18 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1060) UsableRulesProof (EQUIVALENT) 170.10/122.18 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. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1061) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1062) QReductionProof (EQUIVALENT) 170.10/122.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.18 170.10/122.18 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.18 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.18 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.18 new_primMinusNatS2(Zero, Zero) 170.10/122.18 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.18 new_primModNatS02(x0, x1) 170.10/122.18 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1063) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1064) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1065) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1066) TransformationProof (EQUIVALENT) 170.10/122.18 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1067) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1068) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(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]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1069) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1070) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1071) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1072) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1073) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1074) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1075) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1076) TransformationProof (EQUIVALENT) 170.10/122.18 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x0)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1077) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1078) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS1, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1079) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1080) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) at position [0,0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1081) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1082) TransformationProof (EQUIVALENT) 170.10/122.18 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.18 170.10/122.18 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.18 170.10/122.18 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1083) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.18 170.10/122.18 The TRS R consists of the following rules: 170.10/122.18 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.18 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.18 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.18 new_esEs(Neg(Zero)) -> True 170.10/122.18 new_primMinusNatS1 -> Zero 170.10/122.18 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.18 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.18 170.10/122.18 The set Q consists of the following terms: 170.10/122.18 170.10/122.18 new_esEs(Pos(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.18 new_primMinusNatS1 170.10/122.18 new_esEs(Neg(Succ(x0))) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.18 new_primModNatS1(Succ(Zero), Zero) 170.10/122.18 new_primMinusNatS0(x0) 170.10/122.18 new_esEs(Pos(Zero)) 170.10/122.18 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.18 new_primModNatS1(Zero, x0) 170.10/122.18 new_esEs(Neg(Zero)) 170.10/122.18 170.10/122.18 We have to consider all minimal (P,Q,R)-chains. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1084) DependencyGraphProof (EQUIVALENT) 170.10/122.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.18 ---------------------------------------- 170.10/122.18 170.10/122.18 (1085) 170.10/122.18 Obligation: 170.10/122.18 Q DP problem: 170.10/122.18 The TRS P consists of the following rules: 170.10/122.18 170.10/122.18 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.18 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.18 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.18 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1086) TransformationProof (EQUIVALENT) 170.10/122.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1087) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1088) DependencyGraphProof (EQUIVALENT) 170.10/122.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1089) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1090) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1091) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1092) TransformationProof (EQUIVALENT) 170.10/122.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(x0))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero)))) 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero)))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1093) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS1, Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1094) DependencyGraphProof (EQUIVALENT) 170.10/122.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1095) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1096) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(new_primMinusNatS0(x0), Zero))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero)))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1097) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1098) QDPSizeChangeProof (EQUIVALENT) 170.10/122.19 We used the following order together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem. 170.10/122.19 170.10/122.19 Order:Polynomial interpretation [POLO]: 170.10/122.19 170.10/122.19 POL(False) = 1 170.10/122.19 POL(Neg(x_1)) = x_1 170.10/122.19 POL(Pos(x_1)) = 1 170.10/122.19 POL(Succ(x_1)) = 1 + x_1 170.10/122.19 POL(Zero) = 1 170.10/122.19 POL(new_primMinusNatS0(x_1)) = 1 + x_1 170.10/122.19 POL(new_primMinusNatS1) = 1 170.10/122.19 POL(new_primModNatS1(x_1, x_2)) = x_1 170.10/122.19 170.10/122.19 170.10/122.19 170.10/122.19 170.10/122.19 From the DPs we obtained the following set of size-change graphs: 170.10/122.19 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Zero))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x0), Zero))), Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) (allowed arguments on rhs = {2, 3}) 170.10/122.19 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.19 170.10/122.19 170.10/122.19 *new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {2, 3}) 170.10/122.19 The graph contains the following edges 2 >= 2, 1 >= 3 170.10/122.19 170.10/122.19 170.10/122.19 *new_gcd0Gcd'1(False, Pos(Succ(Zero)), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Zero)), Neg(new_primModNatS1(Succ(x0), Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.19 The graph contains the following edges 2 >= 1, 3 > 2 170.10/122.19 170.10/122.19 170.10/122.19 *new_gcd0Gcd'1(False, Neg(Succ(Succ(x0))), Pos(Succ(Zero))) -> new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Zero))) (allowed arguments on rhs = {1, 2}) 170.10/122.19 The graph contains the following edges 2 >= 1, 3 >= 2 170.10/122.19 170.10/122.19 170.10/122.19 170.10/122.19 We oriented the following set of usable rules [AAECC05,FROCOS05]. 170.10/122.19 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1099) 170.10/122.19 YES 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1100) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Zero) -> new_primModNatS1(new_primMinusNatS0(vuz46000), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) -> new_primModNatS1(new_primMinusNatS1, Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_primMinusNatS0(vuz20000) -> Succ(vuz20000) 170.10/122.19 new_primMinusNatS1 -> Zero 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1101) UsableRulesProof (EQUIVALENT) 170.10/122.19 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. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1102) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1103) QReductionProof (EQUIVALENT) 170.10/122.19 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 170.10/122.19 170.10/122.19 new_primMinusNatS1 170.10/122.19 new_primMinusNatS0(x0) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1104) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1105) TransformationProof (EQUIVALENT) 170.10/122.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x3)))), Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero))))) 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1106) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1107) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1108) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1109) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1110) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1111) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1112) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1113) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1114) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1115) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1116) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1117) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1118) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1119) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1120) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Zero, Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1121) DependencyGraphProof (EQUIVALENT) 170.10/122.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1122) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1123) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1124) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1125) TransformationProof (EQUIVALENT) 170.10/122.19 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(x1))), Neg(new_primModNatS01(x0, x1, x0, x1))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero)))) 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3)))) 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero)))) 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1126) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1127) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Zero, Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1128) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1129) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS02(Succ(x2), Zero))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1130) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1131) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1132) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1133) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1134) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1135) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1136) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Zero, Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1137) DependencyGraphProof (EQUIVALENT) 170.10/122.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1138) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1139) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1140) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1141) TransformationProof (EQUIVALENT) 170.10/122.19 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(x0))), Pos(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, x1, x0, x1))), Pos(Succ(Succ(x1))), Neg(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero))))) 170.10/122.19 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.19 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.19 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1142) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1143) DependencyGraphProof (EQUIVALENT) 170.10/122.19 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1144) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1145) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(x2), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.19 170.10/122.19 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1146) 170.10/122.19 Obligation: 170.10/122.19 Q DP problem: 170.10/122.19 The TRS P consists of the following rules: 170.10/122.19 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.19 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.19 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.19 170.10/122.19 The TRS R consists of the following rules: 170.10/122.19 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.19 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.19 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.19 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.19 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.19 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.19 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Pos(Zero)) -> True 170.10/122.19 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.19 new_esEs(Neg(Zero)) -> True 170.10/122.19 170.10/122.19 The set Q consists of the following terms: 170.10/122.19 170.10/122.19 new_esEs(Pos(Succ(x0))) 170.10/122.19 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.19 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.19 new_esEs(Neg(Succ(x0))) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.19 new_primMinusNatS2(Zero, Zero) 170.10/122.19 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.19 new_primModNatS1(Succ(Zero), Zero) 170.10/122.19 new_esEs(Pos(Zero)) 170.10/122.19 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.19 new_primModNatS1(Zero, x0) 170.10/122.19 new_primModNatS02(x0, x1) 170.10/122.19 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.19 new_esEs(Neg(Zero)) 170.10/122.19 170.10/122.19 We have to consider all minimal (P,Q,R)-chains. 170.10/122.19 ---------------------------------------- 170.10/122.19 170.10/122.19 (1147) TransformationProof (EQUIVALENT) 170.10/122.19 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.19 170.10/122.19 (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))),new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1148) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1149) TransformationProof (EQUIVALENT) 170.10/122.20 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1150) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1151) TransformationProof (EQUIVALENT) 170.10/122.20 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2)))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1152) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1153) TransformationProof (EQUIVALENT) 170.10/122.20 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero)))) 170.10/122.20 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1154) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Zero))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1155) DependencyGraphProof (EQUIVALENT) 170.10/122.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1156) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1157) TransformationProof (EQUIVALENT) 170.10/122.20 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Zero)))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1158) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1159) DependencyGraphProof (EQUIVALENT) 170.10/122.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1160) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1161) TransformationProof (EQUIVALENT) 170.10/122.20 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(x0))), Neg(Succ(Succ(x1)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, x1, x0, x1))), Neg(Succ(Succ(x1))), Pos(Succ(Succ(x0)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero))))) 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1162) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1163) DependencyGraphProof (EQUIVALENT) 170.10/122.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1164) 170.10/122.20 Complex Obligation (AND) 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1165) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1166) UsableRulesProof (EQUIVALENT) 170.10/122.20 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. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1167) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1168) TransformationProof (EQUIVALENT) 170.10/122.20 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(x2), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1169) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1170) TransformationProof (EQUIVALENT) 170.10/122.20 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1171) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1172) TransformationProof (EQUIVALENT) 170.10/122.20 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2)))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1173) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1174) TransformationProof (EQUIVALENT) 170.10/122.20 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS1(Succ(x2), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero)))) 170.10/122.20 (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))),new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1175) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Zero))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1176) DependencyGraphProof (EQUIVALENT) 170.10/122.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1177) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1178) TransformationProof (EQUIVALENT) 170.10/122.20 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Zero)))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0))))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1179) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1180) DependencyGraphProof (EQUIVALENT) 170.10/122.20 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1181) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1182) InductionCalculusProof (EQUIVALENT) 170.10/122.20 Note that final constraints are written in bold face. 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x2, Zero, x2, Zero))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x2)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (Pos(new_primModNatS01(x1, Zero, x1, Zero))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 170.10/122.20 170.10/122.20 (3) (False=False & Pos(new_primModNatS01(x1, Zero, x1, Zero))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (4) (Zero=x22 & x1=x23 & Zero=x24 & new_primModNatS01(x1, x22, x23, x24)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x1, Zero, x1, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x1))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (5) (new_primModNatS02(x26, x25)=Succ(x21) & Zero=x25 & x26=Zero & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x26))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x26, Zero, x26, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x26))))))) 170.10/122.20 170.10/122.20 (6) (new_primModNatS01(x30, x29, x28, x27)=Succ(x21) & Zero=x29 & x30=Succ(x28) & Zero=Succ(x27) & (\/x31:new_primModNatS01(x30, x29, x28, x27)=Succ(x31) & Zero=x29 & x30=x28 & Zero=x27 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x30))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x30, Zero, x30, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x30))))))) 170.10/122.20 170.10/122.20 (7) (new_primModNatS02(x34, x33)=Succ(x21) & Zero=x33 & x34=Succ(x32) & Zero=Zero ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x34))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x34, Zero, x34, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x34))))))) 170.10/122.20 170.10/122.20 (8) (Succ(Succ(x37))=Succ(x21) & Zero=x36 & x37=Zero & Zero=Succ(x35) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x37))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x37, Zero, x37, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x37))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (9) (Zero=x38 & new_primModNatS02(x38, x25)=Succ(x21) & Zero=x25 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (10) (Succ(x32)=x45 & new_primModNatS02(x45, x33)=Succ(x21) & Zero=x33 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x40), Succ(x39)), Succ(x39))=Succ(x21) & Zero=x40 & Zero=x39 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (12) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x47), Succ(x46)), Succ(x46))=Succ(x21) & Succ(x32)=x47 & Zero=x46 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero))), new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x8)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))=new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x8))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (Zero=x52 & x7=x53 & Zero=x54 & new_primModNatS01(x7, x52, x53, x54)=Succ(Succ(Succ(x8))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x7))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x7, Zero, x7, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (3) (new_primModNatS02(x56, x55)=Succ(Succ(Succ(x8))) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x56))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x56, Zero, x56, Zero)))) 170.10/122.20 170.10/122.20 (4) (new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x8))) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(Succ(Succ(x61))) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x60))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x60, Zero, x60, Zero)))) 170.10/122.20 170.10/122.20 (5) (new_primModNatS02(x64, x63)=Succ(Succ(Succ(x8))) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x64))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x64, Zero, x64, Zero)))) 170.10/122.20 170.10/122.20 (6) (Succ(Succ(x67))=Succ(Succ(Succ(x8))) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x67))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x67, Zero, x67, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (7) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(Succ(Succ(x8))) & Zero=x55 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (8) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(Succ(Succ(x8))) & Zero=x63 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(Succ(Succ(x8))) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(Succ(Succ(x8))) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (12) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x14)))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero)))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x16, Zero, x16, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x16)))))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x15)))), Neg(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.20 170.10/122.20 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Zero, Zero, Zero, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x32)))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x32), Zero, Succ(x32), Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x32)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 *new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x13)))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x13)))), Neg(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1183) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x0))))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(x0, Zero, x0, Zero))), Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Zero))), Pos(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1184) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1185) UsableRulesProof (EQUIVALENT) 170.10/122.20 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. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1186) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1187) TransformationProof (EQUIVALENT) 170.10/122.20 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))),new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1188) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1189) UsableRulesProof (EQUIVALENT) 170.10/122.20 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. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1190) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1191) InductionCalculusProof (EQUIVALENT) 170.10/122.20 Note that final constraints are written in bold face. 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero))), new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x4)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))=new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x4))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (Zero=x20 & x3=x21 & Zero=x22 & new_primModNatS01(x3, x20, x21, x22)=Succ(Succ(Succ(x4))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x3, Zero, x3, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (3) (new_primModNatS02(x24, x23)=Succ(Succ(Succ(x4))) & Zero=x23 & x24=Zero & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x24))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x24, Zero, x24, Zero)))) 170.10/122.20 170.10/122.20 (4) (new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x4))) & Zero=x27 & x28=Succ(x26) & Zero=Succ(x25) & (\/x29:new_primModNatS01(x28, x27, x26, x25)=Succ(Succ(Succ(x29))) & Zero=x27 & x28=x26 & Zero=x25 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x28))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x28, Zero, x28, Zero)))) 170.10/122.20 170.10/122.20 (5) (new_primModNatS02(x32, x31)=Succ(Succ(Succ(x4))) & Zero=x31 & x32=Succ(x30) & Zero=Zero ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x32))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x32, Zero, x32, Zero)))) 170.10/122.20 170.10/122.20 (6) (Succ(Succ(x35))=Succ(Succ(Succ(x4))) & Zero=x34 & x35=Zero & Zero=Succ(x33) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x35))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x35, Zero, x35, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (3) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (7) (Zero=x36 & new_primModNatS02(x36, x23)=Succ(Succ(Succ(x4))) & Zero=x23 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (8) (Succ(x30)=x43 & new_primModNatS02(x43, x31)=Succ(Succ(Succ(x4))) & Zero=x31 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (9) (new_primModNatS1(new_primMinusNatS2(Succ(x38), Succ(x37)), Succ(x37))=Succ(Succ(Succ(x4))) & Zero=x38 & Zero=x37 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x45), Succ(x44)), Succ(x44))=Succ(Succ(Succ(x4))) & Succ(x30)=x45 & Zero=x44 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (12) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x8, Zero, x8, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x7)))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (III) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x11, Zero, x11, Zero))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x11)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (Neg(new_primModNatS01(x10, Zero, x10, Zero))=x50 & new_esEs(x50)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x50)=False which results in the following new constraint: 170.10/122.20 170.10/122.20 (3) (False=False & Neg(new_primModNatS01(x10, Zero, x10, Zero))=Neg(Succ(x51)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (4) (Zero=x52 & x10=x53 & Zero=x54 & new_primModNatS01(x10, x52, x53, x54)=Succ(x51) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x10))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x10, Zero, x10, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x10))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (5) (new_primModNatS02(x56, x55)=Succ(x51) & Zero=x55 & x56=Zero & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x56))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x56, Zero, x56, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x56))))))) 170.10/122.20 170.10/122.20 (6) (new_primModNatS01(x60, x59, x58, x57)=Succ(x51) & Zero=x59 & x60=Succ(x58) & Zero=Succ(x57) & (\/x61:new_primModNatS01(x60, x59, x58, x57)=Succ(x61) & Zero=x59 & x60=x58 & Zero=x57 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x60))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x60, Zero, x60, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x60))))))) 170.10/122.20 170.10/122.20 (7) (new_primModNatS02(x64, x63)=Succ(x51) & Zero=x63 & x64=Succ(x62) & Zero=Zero ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x64))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x64, Zero, x64, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x64))))))) 170.10/122.20 170.10/122.20 (8) (Succ(Succ(x67))=Succ(x51) & Zero=x66 & x67=Zero & Zero=Succ(x65) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x67))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x67, Zero, x67, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x67))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (5) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (9) (Zero=x68 & new_primModNatS02(x68, x55)=Succ(x51) & Zero=x55 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (10) (Succ(x62)=x75 & new_primModNatS02(x75, x63)=Succ(x51) & Zero=x63 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (11) (new_primModNatS1(new_primMinusNatS2(Succ(x70), Succ(x69)), Succ(x69))=Succ(x51) & Zero=x70 & Zero=x69 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (11) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (12) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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: 170.10/122.20 170.10/122.20 (13) (new_primModNatS1(new_primMinusNatS2(Succ(x77), Succ(x76)), Succ(x76))=Succ(x51) & Succ(x62)=x77 & Zero=x76 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (13) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.20 170.10/122.20 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) the following chains were created: 170.10/122.20 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero)))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) which results in the following constraint: 170.10/122.20 170.10/122.20 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x17)))), Pos(Succ(Succ(Zero)))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.20 170.10/122.20 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.20 170.10/122.20 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Zero, Zero, Zero, Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x30)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(Succ(x30), Zero, Succ(x30), Zero)))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Zero, Zero, Zero, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.20 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x62)))))), Pos(Succ(Succ(Zero))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x62), Zero, Succ(x62), Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 *new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 *(new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x16)))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x16)))), Pos(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 170.10/122.20 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. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1192) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(new_primModNatS01(x0, Zero, x0, Zero))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x0))))), Pos(Succ(Succ(Zero)))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(x0, Zero, x0, Zero))), Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(Succ(x0)))))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Zero))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Zero)))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1193) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.20 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.20 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.20 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Pos(Zero)) -> True 170.10/122.20 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.20 new_esEs(Neg(Zero)) -> True 170.10/122.20 170.10/122.20 The set Q consists of the following terms: 170.10/122.20 170.10/122.20 new_esEs(Pos(Succ(x0))) 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.20 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.20 new_esEs(Neg(Succ(x0))) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.20 new_primMinusNatS2(Zero, Zero) 170.10/122.20 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.20 new_primModNatS1(Succ(Zero), Zero) 170.10/122.20 new_esEs(Pos(Zero)) 170.10/122.20 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.20 new_primModNatS1(Zero, x0) 170.10/122.20 new_primModNatS02(x0, x1) 170.10/122.20 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.20 new_esEs(Neg(Zero)) 170.10/122.20 170.10/122.20 We have to consider all minimal (P,Q,R)-chains. 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1194) TransformationProof (EQUIVALENT) 170.10/122.20 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(x2)))), Pos(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.20 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.20 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.20 170.10/122.20 170.10/122.20 ---------------------------------------- 170.10/122.20 170.10/122.20 (1195) 170.10/122.20 Obligation: 170.10/122.20 Q DP problem: 170.10/122.20 The TRS P consists of the following rules: 170.10/122.20 170.10/122.20 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.20 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.20 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.20 170.10/122.20 The TRS R consists of the following rules: 170.10/122.20 170.10/122.20 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.20 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.20 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.20 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1196) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1197) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1198) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1199) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1200) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Neg(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1201) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Zero)), Succ(Succ(Zero))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1202) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1203) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1204) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1205) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Zero), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1206) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1207) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1208) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1209) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Zero, Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1210) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1211) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1212) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1213) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1214) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Zero, Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1215) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(Zero)), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1216) DependencyGraphProof (EQUIVALENT) 170.10/122.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1217) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1218) TransformationProof (EQUIVALENT) 170.10/122.21 By narrowing [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x2)))), Neg(Succ(Succ(Succ(x3))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))), Neg(Succ(Succ(Succ(x3)))), Pos(Succ(Succ(Succ(x2))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1219) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1220) DependencyGraphProof (EQUIVALENT) 170.10/122.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1221) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1222) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) at position [0,0,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1223) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1224) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(new_esEs(Pos(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) at position [0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1225) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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)))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1226) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(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'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1227) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1228) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1229) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1230) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(new_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]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))),new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2))))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1231) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1232) TransformationProof (EQUIVALENT) 170.10/122.21 By narrowing [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(x3)))), Neg(Succ(Succ(Succ(x2))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(x3)))), Neg(new_primModNatS01(Succ(x2), Succ(x3), x2, x3))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero))))) 170.10/122.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3)))) 170.10/122.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero))))) 170.10/122.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1233) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Zero), Succ(Zero)))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1234) DependencyGraphProof (EQUIVALENT) 170.10/122.21 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 1 less node. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1235) 170.10/122.21 Complex Obligation (AND) 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1236) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1237) UsableRulesProof (EQUIVALENT) 170.10/122.21 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. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1238) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1239) InductionCalculusProof (EQUIVALENT) 170.10/122.21 Note that final constraints are written in bold face. 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.21 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.21 170.10/122.21 (1) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.21 170.10/122.21 (2) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.21 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 170.10/122.21 170.10/122.21 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x8))))), Neg(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.21 170.10/122.21 (2) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.10/122.21 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.21 170.10/122.21 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.21 170.10/122.21 (2) (Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 170.10/122.21 170.10/122.21 (3) (False=False & Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Pos(Succ(x21)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.21 170.10/122.21 (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.21 170.10/122.21 (6) (new_primModNatS01(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x13))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.21 170.10/122.21 (7) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.21 170.10/122.21 (8) (x26=x28 & x25=x29 & new_primModNatS01(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x26)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x26)))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x31)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x31)))))))) 170.10/122.21 170.10/122.21 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x35)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x35)))))))) 170.10/122.21 170.10/122.21 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x39)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x39)))))))) 170.10/122.21 170.10/122.21 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x42)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x42)))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.10/122.21 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x16))))), Neg(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.21 170.10/122.21 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.21 170.10/122.21 (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 (4) (new_primModNatS01(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (5) (x49=x51 & x48=x52 & new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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: 170.10/122.21 170.10/122.21 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.21 170.10/122.21 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x1))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x7))))), Neg(Succ(Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.21 170.10/122.21 170.10/122.21 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.21 170.10/122.21 170.10/122.21 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Neg(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 170.10/122.21 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. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1240) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Zero)))), Pos(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1241) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Pos(Zero)) -> True 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1242) UsableRulesProof (EQUIVALENT) 170.10/122.21 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. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1243) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1244) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS02(Succ(Succ(x2)), Succ(Zero)))) at position [1,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1245) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1246) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(Succ(x2))), Succ(Succ(Zero))), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1247) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.21 new_primModNatS1(Zero, x0) 170.10/122.21 new_primModNatS02(x0, x1) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.21 new_esEs(Neg(Zero)) 170.10/122.21 170.10/122.21 We have to consider all minimal (P,Q,R)-chains. 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1248) TransformationProof (EQUIVALENT) 170.10/122.21 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(Succ(x2)), Succ(Zero)), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.21 170.10/122.21 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero)))))) 170.10/122.21 170.10/122.21 170.10/122.21 ---------------------------------------- 170.10/122.21 170.10/122.21 (1249) 170.10/122.21 Obligation: 170.10/122.21 Q DP problem: 170.10/122.21 The TRS P consists of the following rules: 170.10/122.21 170.10/122.21 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.21 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.21 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) 170.10/122.21 170.10/122.21 The TRS R consists of the following rules: 170.10/122.21 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.21 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.21 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.21 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.21 new_esEs(Neg(Zero)) -> True 170.10/122.21 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.21 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.21 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.21 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.21 170.10/122.21 The set Q consists of the following terms: 170.10/122.21 170.10/122.21 new_esEs(Pos(Succ(x0))) 170.10/122.21 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.21 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.21 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.21 new_esEs(Neg(Succ(x0))) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.21 new_primMinusNatS2(Zero, Zero) 170.10/122.21 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.21 new_primModNatS1(Succ(Zero), Zero) 170.10/122.21 new_esEs(Pos(Zero)) 170.10/122.21 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.22 new_primModNatS1(Zero, x0) 170.10/122.22 new_primModNatS02(x0, x1) 170.10/122.22 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.22 new_esEs(Neg(Zero)) 170.10/122.22 170.10/122.22 We have to consider all minimal (P,Q,R)-chains. 170.10/122.22 ---------------------------------------- 170.10/122.22 170.10/122.22 (1250) TransformationProof (EQUIVALENT) 170.10/122.22 By rewriting [LPAR04] the rule new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(new_primMinusNatS2(Succ(x2), Zero), Succ(Succ(Zero))))) at position [1,0,0] we obtained the following new rules [LPAR04]: 170.10/122.22 170.10/122.22 (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))),new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 ---------------------------------------- 170.10/122.22 170.10/122.22 (1251) 170.10/122.22 Obligation: 170.10/122.22 Q DP problem: 170.10/122.22 The TRS P consists of the following rules: 170.10/122.22 170.10/122.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.22 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.22 170.10/122.22 The TRS R consists of the following rules: 170.10/122.22 170.10/122.22 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.22 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.22 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.22 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.22 new_esEs(Neg(Zero)) -> True 170.10/122.22 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.22 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.22 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.22 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.22 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.22 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.22 170.10/122.22 The set Q consists of the following terms: 170.10/122.22 170.10/122.22 new_esEs(Pos(Succ(x0))) 170.10/122.22 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.22 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.22 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.22 new_esEs(Neg(Succ(x0))) 170.10/122.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.22 new_primMinusNatS2(Zero, Zero) 170.10/122.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.22 new_primModNatS1(Succ(Zero), Zero) 170.10/122.22 new_esEs(Pos(Zero)) 170.10/122.22 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.22 new_primModNatS1(Zero, x0) 170.10/122.22 new_primModNatS02(x0, x1) 170.10/122.22 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.22 new_esEs(Neg(Zero)) 170.10/122.22 170.10/122.22 We have to consider all minimal (P,Q,R)-chains. 170.10/122.22 ---------------------------------------- 170.10/122.22 170.10/122.22 (1252) InductionCalculusProof (EQUIVALENT) 170.10/122.22 Note that final constraints are written in bold face. 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.22 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.22 170.10/122.22 (1) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (2) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) the following chains were created: 170.10/122.22 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero))))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x8), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x8)))))) which results in the following constraint: 170.10/122.22 170.10/122.22 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x8))))), Pos(Succ(Succ(Succ(Zero))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (1) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (2) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.10/122.22 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x14), Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.22 170.10/122.22 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x14)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (2) (Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=x20 & new_esEs(x20)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x20)=False which results in the following new constraint: 170.10/122.22 170.10/122.22 (3) (False=False & Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))=Neg(Succ(x21)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (4) (Succ(x13)=x22 & Succ(Succ(Zero))=x23 & new_primModNatS1(x22, x23)=Succ(x21) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (5) (Succ(Zero)=Succ(x21) & Succ(x13)=Succ(Zero) & Succ(Succ(Zero))=Succ(x24) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.22 170.10/122.22 (6) (new_primModNatS01(x26, x25, x26, x25)=Succ(x21) & Succ(x13)=Succ(Succ(x26)) & Succ(Succ(Zero))=Succ(x25) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x13))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x13), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x13))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (5) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (7) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (6) using rules (I), (II), (III), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (8) (x26=x28 & x25=x29 & new_primModNatS01(x26, x25, x28, x29)=Succ(x21) & Succ(Zero)=x25 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x26)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x26)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x26)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (9) (new_primModNatS02(x31, x30)=Succ(x21) & x31=Zero & x30=Zero & Succ(Zero)=x30 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x31)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x31)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x31)))))))) 170.10/122.22 170.10/122.22 (10) (new_primModNatS01(x35, x34, x33, x32)=Succ(x21) & x35=Succ(x33) & x34=Succ(x32) & Succ(Zero)=x34 & (\/x36:new_primModNatS01(x35, x34, x33, x32)=Succ(x36) & x35=x33 & x34=x32 & Succ(Zero)=x34 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x35)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x35)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x35)))))))) 170.10/122.22 170.10/122.22 (11) (new_primModNatS02(x39, x38)=Succ(x21) & x39=Succ(x37) & x38=Zero & Succ(Zero)=x38 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x39)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x39)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x39)))))))) 170.10/122.22 170.10/122.22 (12) (Succ(Succ(x42))=Succ(x21) & x42=Zero & x41=Succ(x40) & Succ(Zero)=x41 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x42)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(x42)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x42)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) the following chains were created: 170.10/122.22 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero))))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Zero))))) which results in the following constraint: 170.10/122.22 170.10/122.22 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x16)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (1) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (2) (Succ(x15)=x45 & Succ(Succ(Zero))=x46 & new_primModNatS1(x45, x46)=Succ(Succ(Succ(Succ(x16)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (3) (Succ(Zero)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Zero) & Succ(Succ(Zero))=Succ(x47) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 (4) (new_primModNatS01(x49, x48, x49, x48)=Succ(Succ(Succ(Succ(x16)))) & Succ(x15)=Succ(Succ(x49)) & Succ(Succ(Zero))=Succ(x48) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x15), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (5) (x49=x51 & x48=x52 & new_primModNatS01(x49, x48, x51, x52)=Succ(Succ(Succ(Succ(x16)))) & Succ(Zero)=x48 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x49)), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (6) (new_primModNatS02(x54, x53)=Succ(Succ(Succ(Succ(x16)))) & x54=Zero & x53=Zero & Succ(Zero)=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x54)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x54)), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 (7) (new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x16)))) & x58=Succ(x56) & x57=Succ(x55) & Succ(Zero)=x57 & (\/x59:new_primModNatS01(x58, x57, x56, x55)=Succ(Succ(Succ(Succ(x59)))) & x58=x56 & x57=x55 & Succ(Zero)=x57 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x58)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x58)), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 (8) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x16)))) & x62=Succ(x60) & x61=Zero & Succ(Zero)=x61 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x62)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x62)), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 (9) (Succ(Succ(x65))=Succ(Succ(Succ(Succ(x16)))) & x65=Zero & x64=Succ(x63) & Succ(Zero)=x64 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(x65)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(x65)), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We solved constraint (8) using rules (I), (II), (III).We solved constraint (9) using rules (I), (II), (III), (IV). 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 To summarize, we get the following constraints P__>=_ for the following pairs. 170.10/122.22 170.10/122.22 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.22 170.10/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x1))))))_>=_new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x1))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.22 170.10/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x7))))), Pos(Succ(Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.22 170.10/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Zero), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.22 170.10/122.22 170.10/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Zero)), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))), Pos(Succ(Succ(Succ(Zero)))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(Succ(Succ(x33))), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x33))))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.22 170.10/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x56))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(Succ(Succ(x56))), Succ(Succ(Zero)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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. 170.10/122.22 ---------------------------------------- 170.10/122.22 170.10/122.22 (1253) 170.10/122.22 Obligation: 170.10/122.22 Q DP problem: 170.10/122.22 The TRS P consists of the following rules: 170.10/122.22 170.10/122.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) 170.10/122.22 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Zero))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Zero)))), Neg(new_primModNatS1(Succ(x2), Succ(Succ(Zero))))) 170.10/122.22 170.10/122.22 The TRS R consists of the following rules: 170.10/122.22 170.10/122.22 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.22 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.22 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.22 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.22 new_esEs(Neg(Zero)) -> True 170.10/122.22 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.22 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.22 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.22 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.22 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.22 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.22 170.10/122.22 The set Q consists of the following terms: 170.10/122.22 170.10/122.22 new_esEs(Pos(Succ(x0))) 170.10/122.22 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.22 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.22 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.22 new_esEs(Neg(Succ(x0))) 170.10/122.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.22 new_primMinusNatS2(Zero, Zero) 170.10/122.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.22 new_primModNatS1(Succ(Zero), Zero) 170.10/122.22 new_esEs(Pos(Zero)) 170.10/122.22 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.22 new_primModNatS1(Zero, x0) 170.10/122.22 new_primModNatS02(x0, x1) 170.10/122.22 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.22 new_esEs(Neg(Zero)) 170.10/122.22 170.10/122.22 We have to consider all minimal (P,Q,R)-chains. 170.10/122.22 ---------------------------------------- 170.10/122.22 170.10/122.22 (1254) 170.10/122.22 Obligation: 170.10/122.22 Q DP problem: 170.10/122.22 The TRS P consists of the following rules: 170.10/122.22 170.10/122.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.10/122.22 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.10/122.22 170.10/122.22 The TRS R consists of the following rules: 170.10/122.22 170.10/122.22 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.10/122.22 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.22 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.10/122.22 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.10/122.22 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.10/122.22 new_primModNatS1(Zero, vuz4500) -> Zero 170.10/122.22 new_primMinusNatS2(Zero, Zero) -> Zero 170.10/122.22 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.10/122.22 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.10/122.22 new_esEs(Pos(Succ(vuz1600))) -> False 170.10/122.22 new_esEs(Pos(Zero)) -> True 170.10/122.22 new_esEs(Neg(Succ(vuz1600))) -> False 170.10/122.22 new_esEs(Neg(Zero)) -> True 170.10/122.22 170.10/122.22 The set Q consists of the following terms: 170.10/122.22 170.10/122.22 new_esEs(Pos(Succ(x0))) 170.10/122.22 new_primModNatS1(Succ(Zero), Succ(x0)) 170.10/122.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.10/122.22 new_primMinusNatS2(Zero, Succ(x0)) 170.10/122.22 new_primMinusNatS2(Succ(x0), Zero) 170.10/122.22 new_esEs(Neg(Succ(x0))) 170.10/122.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.10/122.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.10/122.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.10/122.22 new_primMinusNatS2(Zero, Zero) 170.10/122.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.10/122.22 new_primModNatS1(Succ(Zero), Zero) 170.10/122.22 new_esEs(Pos(Zero)) 170.10/122.22 new_primModNatS1(Succ(Succ(x0)), Zero) 170.10/122.22 new_primModNatS1(Zero, x0) 170.10/122.22 new_primModNatS02(x0, x1) 170.10/122.22 new_primModNatS01(x0, x1, Zero, Zero) 170.10/122.22 new_esEs(Neg(Zero)) 170.10/122.22 170.10/122.22 We have to consider all minimal (P,Q,R)-chains. 170.10/122.22 ---------------------------------------- 170.10/122.22 170.10/122.22 (1255) InductionCalculusProof (EQUIVALENT) 170.10/122.22 Note that final constraints are written in bold face. 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 For Pair new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.10/122.22 *We consider the chain new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2))), new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x4)), Succ(Succ(x5)), x4, x5))), Neg(Succ(Succ(Succ(Succ(x5))))), Pos(Succ(Succ(Succ(Succ(x4)))))) which results in the following constraint: 170.10/122.22 170.10/122.22 (1) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))=new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x4))))), Neg(Succ(Succ(Succ(Succ(x5)))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (2) (Succ(Succ(x3))=x40 & Succ(Succ(x2))=x41 & new_primModNatS01(x40, x41, x3, x2)=Succ(Succ(Succ(Succ(x5)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(new_primModNatS01(Succ(Succ(x3)), Succ(Succ(x2)), x3, x2)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (3) (new_primModNatS02(x43, x42)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x43 & Succ(Succ(Zero))=x42 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.22 170.10/122.22 (4) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 & (\/x48:new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x48)))) & Succ(Succ(x45))=x47 & Succ(Succ(x44))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x44))))), Neg(Succ(Succ(Succ(Succ(x45))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x44))))), Neg(new_primModNatS01(Succ(Succ(x45)), Succ(Succ(x44)), x45, x44)))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) 170.10/122.22 170.10/122.22 (5) (new_primModNatS02(x51, x50)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x49)))=x51 & Succ(Succ(Zero))=x50 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 170.10/122.22 170.10/122.22 (6) (Succ(Succ(x54))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Zero))=x54 & Succ(Succ(Succ(x52)))=x53 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (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'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (4) using rule (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (8) (new_primModNatS01(x47, x46, x45, x44)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(x45)))=x47 & Succ(Succ(Succ(x44)))=x46 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(Succ(Succ(Succ(Succ(Succ(x45)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x44)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x45))), Succ(Succ(Succ(x44))), Succ(x45), Succ(x44))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (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'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (10) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (11) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (12) (new_primModNatS02(x62, x61)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x62 & Succ(Succ(Succ(Zero)))=x61 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.22 170.10/122.22 (13) (new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x64))))=x66 & Succ(Succ(Succ(Succ(x63))))=x65 & (\/x67:new_primModNatS01(x66, x65, x64, x63)=Succ(Succ(Succ(Succ(x67)))) & Succ(Succ(Succ(x64)))=x66 & Succ(Succ(Succ(x63)))=x65 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(Succ(Succ(Succ(Succ(Succ(x64)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x63)))))), Neg(new_primModNatS01(Succ(Succ(Succ(x64))), Succ(Succ(Succ(x63))), Succ(x64), Succ(x63))))) ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) 170.10/122.22 170.10/122.22 (14) (new_primModNatS02(x70, x69)=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Succ(x68))))=x70 & Succ(Succ(Succ(Zero)))=x69 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 170.10/122.22 170.10/122.22 (15) (Succ(Succ(x73))=Succ(Succ(Succ(Succ(x5)))) & Succ(Succ(Succ(Zero)))=x73 & Succ(Succ(Succ(Succ(x71))))=x72 ==> new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (16) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (17) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (18) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (19) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (20) (new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 For Pair new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.10/122.22 *We consider the chain new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14)))))), new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x16))))), Pos(new_primModNatS01(Succ(Succ(x17)), Succ(Succ(x16)), x17, x16))) which results in the following constraint: 170.10/122.22 170.10/122.22 (1) (new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))=new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x16))))), Pos(Succ(Succ(Succ(Succ(x17)))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (2) (Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=x80 & new_esEs(x80)=False ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x80)=False which results in the following new constraints: 170.10/122.22 170.10/122.22 (3) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Pos(Succ(x81)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 170.10/122.22 170.10/122.22 (4) (False=False & Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))=Neg(Succ(x82)) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (3) using rules (I), (II), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (5) (Succ(Succ(x14))=x83 & Succ(Succ(x15))=x84 & new_primModNatS01(x83, x84, x14, x15)=Succ(x81) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x14))))), Neg(Succ(Succ(Succ(Succ(x15))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x14)), Succ(Succ(x15)), x14, x15))), Neg(Succ(Succ(Succ(Succ(x15))))), Pos(Succ(Succ(Succ(Succ(x14))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (6) (new_primModNatS02(x86, x85)=Succ(x81) & Succ(Succ(Zero))=x86 & Succ(Succ(Zero))=x85 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.22 170.10/122.22 (7) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 & (\/x91:new_primModNatS01(x90, x89, x88, x87)=Succ(x91) & Succ(Succ(x88))=x90 & Succ(Succ(x87))=x89 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x88))))), Neg(Succ(Succ(Succ(Succ(x87))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x88)), Succ(Succ(x87)), x88, x87))), Neg(Succ(Succ(Succ(Succ(x87))))), Pos(Succ(Succ(Succ(Succ(x88))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) 170.10/122.22 170.10/122.22 (8) (new_primModNatS02(x94, x93)=Succ(x81) & Succ(Succ(Succ(x92)))=x94 & Succ(Succ(Zero))=x93 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 170.10/122.22 170.10/122.22 (9) (Succ(Succ(x97))=Succ(x81) & Succ(Succ(Zero))=x97 & Succ(Succ(Succ(x95)))=x96 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x99), Succ(x98)), Succ(x98))=Succ(x81) & Succ(Succ(Zero))=x99 & Succ(Succ(Zero))=x98 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (7) using rule (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (11) (new_primModNatS01(x90, x89, x88, x87)=Succ(x81) & Succ(Succ(Succ(x88)))=x90 & Succ(Succ(Succ(x87)))=x89 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x88)))))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x88))), Succ(Succ(Succ(x87))), Succ(x88), Succ(x87)))), Neg(Succ(Succ(Succ(Succ(Succ(x87)))))), Pos(Succ(Succ(Succ(Succ(Succ(x88)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x118), Succ(x117)), Succ(x117))=Succ(x81) & Succ(Succ(Succ(x92)))=x118 & Succ(Succ(Zero))=x117 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (13) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (14) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (15) (new_primModNatS02(x105, x104)=Succ(x81) & Succ(Succ(Succ(Zero)))=x105 & Succ(Succ(Succ(Zero)))=x104 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.22 170.10/122.22 (16) (new_primModNatS01(x109, x108, x107, x106)=Succ(x81) & Succ(Succ(Succ(Succ(x107))))=x109 & Succ(Succ(Succ(Succ(x106))))=x108 & (\/x110:new_primModNatS01(x109, x108, x107, x106)=Succ(x110) & Succ(Succ(Succ(x107)))=x109 & Succ(Succ(Succ(x106)))=x108 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x107)))))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x107))), Succ(Succ(Succ(x106))), Succ(x107), Succ(x106)))), Neg(Succ(Succ(Succ(Succ(Succ(x106)))))), Pos(Succ(Succ(Succ(Succ(Succ(x107)))))))) ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) 170.10/122.22 170.10/122.22 (17) (new_primModNatS02(x113, x112)=Succ(x81) & Succ(Succ(Succ(Succ(x111))))=x113 & Succ(Succ(Succ(Zero)))=x112 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) 170.10/122.22 170.10/122.22 (18) (Succ(Succ(x116))=Succ(x81) & Succ(Succ(Succ(Zero)))=x116 & Succ(Succ(Succ(Succ(x114))))=x115 ==> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (19) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (20) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (21) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (22) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (23) (new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 For Pair new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) the following chains were created: 170.10/122.22 *We consider the chain new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26))), new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x28)), Succ(Succ(x29)), x28, x29))), Pos(Succ(Succ(Succ(Succ(x29))))), Neg(Succ(Succ(Succ(Succ(x28)))))) which results in the following constraint: 170.10/122.22 170.10/122.22 (1) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))=new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x28))))), Pos(Succ(Succ(Succ(Succ(x29)))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.10/122.22 170.10/122.22 (2) (Succ(Succ(x27))=x123 & Succ(Succ(x26))=x124 & new_primModNatS01(x123, x124, x27, x26)=Succ(Succ(Succ(Succ(x29)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x26))))), Pos(Succ(Succ(Succ(Succ(x27))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x26))))), Pos(new_primModNatS01(Succ(Succ(x27)), Succ(Succ(x26)), x27, x26)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (3) (new_primModNatS02(x126, x125)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x126 & Succ(Succ(Zero))=x125 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.22 170.10/122.22 (4) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 & (\/x131:new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x131)))) & Succ(Succ(x128))=x130 & Succ(Succ(x127))=x129 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x127))))), Pos(Succ(Succ(Succ(Succ(x128))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x127))))), Pos(new_primModNatS01(Succ(Succ(x128)), Succ(Succ(x127)), x128, x127)))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) 170.10/122.22 170.10/122.22 (5) (new_primModNatS02(x134, x133)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x132)))=x134 & Succ(Succ(Zero))=x133 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 170.10/122.22 170.10/122.22 (6) (Succ(Succ(x137))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Zero))=x137 & Succ(Succ(Succ(x135)))=x136 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (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'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (4) using rule (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (8) (new_primModNatS01(x130, x129, x128, x127)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(x128)))=x130 & Succ(Succ(Succ(x127)))=x129 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(Succ(Succ(Succ(Succ(Succ(x128)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x127)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x128))), Succ(Succ(Succ(x127))), Succ(x128), Succ(x127))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 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: 170.10/122.22 170.10/122.22 (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'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (6) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.10/122.22 170.10/122.22 (10) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 170.10/122.22 170.10/122.22 170.10/122.22 170.10/122.22 We simplified constraint (7) using rules (III), (IV), (VII) which results in the following new constraint: 170.11/122.22 170.11/122.22 (11) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 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: 170.11/122.22 170.11/122.22 (12) (new_primModNatS02(x145, x144)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x145 & Succ(Succ(Succ(Zero)))=x144 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.11/122.22 170.11/122.22 (13) (new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x147))))=x149 & Succ(Succ(Succ(Succ(x146))))=x148 & (\/x150:new_primModNatS01(x149, x148, x147, x146)=Succ(Succ(Succ(Succ(x150)))) & Succ(Succ(Succ(x147)))=x149 & Succ(Succ(Succ(x146)))=x148 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(Succ(Succ(Succ(Succ(Succ(x147)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x146)))))), Pos(new_primModNatS01(Succ(Succ(Succ(x147))), Succ(Succ(Succ(x146))), Succ(x147), Succ(x146))))) ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) 170.11/122.22 170.11/122.22 (14) (new_primModNatS02(x153, x152)=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Succ(x151))))=x153 & Succ(Succ(Succ(Zero)))=x152 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 170.11/122.22 170.11/122.22 (15) (Succ(Succ(x156))=Succ(Succ(Succ(Succ(x29)))) & Succ(Succ(Succ(Zero)))=x156 & Succ(Succ(Succ(Succ(x154))))=x155 ==> new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (12) using rules (III), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (16) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (13) using rules (III), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (17) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (14) using rules (III), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (18) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (15) using rules (I), (II), (III), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (19) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (9) using rules (III), (IV), (VII) which results in the following new constraint: 170.11/122.22 170.11/122.22 (20) (new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 For Pair new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) the following chains were created: 170.11/122.22 *We consider the chain new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30)))))), new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x32))))), Neg(new_primModNatS01(Succ(Succ(x33)), Succ(Succ(x32)), x33, x32))) which results in the following constraint: 170.11/122.22 170.11/122.22 (1) (new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))=new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x32))))), Neg(Succ(Succ(Succ(Succ(x33)))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (1) using rules (I), (II), (IV), (VII) which results in the following new constraint: 170.11/122.22 170.11/122.22 (2) (Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=x163 & new_esEs(x163)=False ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (2) using rule (V) (with possible (I) afterwards) using induction on new_esEs(x163)=False which results in the following new constraints: 170.11/122.22 170.11/122.22 (3) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Pos(Succ(x164)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 170.11/122.22 170.11/122.22 (4) (False=False & Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))=Neg(Succ(x165)) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We solved constraint (3) using rules (I), (II).We simplified constraint (4) using rules (I), (II), (VII) which results in the following new constraint: 170.11/122.22 170.11/122.22 (5) (Succ(Succ(x30))=x166 & Succ(Succ(x31))=x167 & new_primModNatS01(x166, x167, x30, x31)=Succ(x165) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x30))))), Pos(Succ(Succ(Succ(Succ(x31))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x30)), Succ(Succ(x31)), x30, x31))), Pos(Succ(Succ(Succ(Succ(x31))))), Neg(Succ(Succ(Succ(Succ(x30))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 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: 170.11/122.22 170.11/122.22 (6) (new_primModNatS02(x169, x168)=Succ(x165) & Succ(Succ(Zero))=x169 & Succ(Succ(Zero))=x168 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 (7) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 & (\/x174:new_primModNatS01(x173, x172, x171, x170)=Succ(x174) & Succ(Succ(x171))=x173 & Succ(Succ(x170))=x172 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x171))))), Pos(Succ(Succ(Succ(Succ(x170))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x171)), Succ(Succ(x170)), x171, x170))), Pos(Succ(Succ(Succ(Succ(x170))))), Neg(Succ(Succ(Succ(Succ(x171))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) 170.11/122.22 170.11/122.22 (8) (new_primModNatS02(x177, x176)=Succ(x165) & Succ(Succ(Succ(x175)))=x177 & Succ(Succ(Zero))=x176 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 170.11/122.22 170.11/122.22 (9) (Succ(Succ(x180))=Succ(x165) & Succ(Succ(Zero))=x180 & Succ(Succ(Succ(x178)))=x179 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 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: 170.11/122.22 170.11/122.22 (10) (new_primModNatS1(new_primMinusNatS2(Succ(x182), Succ(x181)), Succ(x181))=Succ(x165) & Succ(Succ(Zero))=x182 & Succ(Succ(Zero))=x181 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (7) using rule (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (11) (new_primModNatS01(x173, x172, x171, x170)=Succ(x165) & Succ(Succ(Succ(x171)))=x173 & Succ(Succ(Succ(x170)))=x172 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x171)))))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x171))), Succ(Succ(Succ(x170))), Succ(x171), Succ(x170)))), Pos(Succ(Succ(Succ(Succ(Succ(x170)))))), Neg(Succ(Succ(Succ(Succ(Succ(x171)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 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: 170.11/122.22 170.11/122.22 (12) (new_primModNatS1(new_primMinusNatS2(Succ(x201), Succ(x200)), Succ(x200))=Succ(x165) & Succ(Succ(Succ(x175)))=x201 & Succ(Succ(Zero))=x200 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (9) using rules (I), (II), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (13) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (10) using rules (III), (IV), (VII) which results in the following new constraint: 170.11/122.22 170.11/122.22 (14) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 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: 170.11/122.22 170.11/122.22 (15) (new_primModNatS02(x188, x187)=Succ(x165) & Succ(Succ(Succ(Zero)))=x188 & Succ(Succ(Succ(Zero)))=x187 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 (16) (new_primModNatS01(x192, x191, x190, x189)=Succ(x165) & Succ(Succ(Succ(Succ(x190))))=x192 & Succ(Succ(Succ(Succ(x189))))=x191 & (\/x193:new_primModNatS01(x192, x191, x190, x189)=Succ(x193) & Succ(Succ(Succ(x190)))=x192 & Succ(Succ(Succ(x189)))=x191 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x190)))))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x190))), Succ(Succ(Succ(x189))), Succ(x190), Succ(x189)))), Pos(Succ(Succ(Succ(Succ(Succ(x189)))))), Neg(Succ(Succ(Succ(Succ(Succ(x190)))))))) ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) 170.11/122.22 170.11/122.22 (17) (new_primModNatS02(x196, x195)=Succ(x165) & Succ(Succ(Succ(Succ(x194))))=x196 & Succ(Succ(Succ(Zero)))=x195 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) 170.11/122.22 170.11/122.22 (18) (Succ(Succ(x199))=Succ(x165) & Succ(Succ(Succ(Zero)))=x199 & Succ(Succ(Succ(Succ(x197))))=x198 ==> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (15) using rules (III), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (19) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (16) using rules (III), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (20) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (17) using rules (III), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (21) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (18) using rules (I), (II), (IV) which results in the following new constraint: 170.11/122.22 170.11/122.22 (22) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 We simplified constraint (12) using rules (III), (IV), (VII) which results in the following new constraint: 170.11/122.22 170.11/122.22 (23) (new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 To summarize, we get the following constraints P__>=_ for the following pairs. 170.11/122.22 170.11/122.22 *new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x71))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x71)))), Succ(Zero), Succ(Succ(x71)))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x52)))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x52))), Zero, Succ(x52))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x64))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x63))))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x64)))), Succ(Succ(Succ(Succ(x63)))), Succ(Succ(x64)), Succ(Succ(x63)))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x68))))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x68)))), Succ(Succ(Succ(Zero))), Succ(Succ(x68)), Succ(Zero))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x49)))))))_>=_new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(new_primModNatS01(Succ(Succ(Succ(x49))), Succ(Succ(Zero)), Succ(x49), Zero)))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 *new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x114)))), Succ(Zero), Succ(Succ(x114))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x114))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x95))), Zero, Succ(x95)))), Neg(Succ(Succ(Succ(Succ(Succ(x95)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x107)))), Succ(Succ(Succ(Succ(x106)))), Succ(Succ(x107)), Succ(Succ(x106))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x106))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x107))))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x111)))), Succ(Succ(Succ(Zero))), Succ(Succ(x111)), Succ(Zero)))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x111))))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(Succ(x92)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(Succ(x92))), Succ(Succ(Zero)), Succ(x92), Zero))), Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x92)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 *new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x154))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x154)))), Succ(Zero), Succ(Succ(x154)))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x135)))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x135))), Zero, Succ(x135))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero)))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x147))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x146))))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x147)))), Succ(Succ(Succ(Succ(x146)))), Succ(Succ(x147)), Succ(Succ(x146)))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x151))))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(new_primModNatS01(Succ(Succ(Succ(Succ(x151)))), Succ(Succ(Succ(Zero))), Succ(Succ(x151)), Succ(Zero))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x132)))))))_>=_new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(new_primModNatS01(Succ(Succ(Succ(x132))), Succ(Succ(Zero)), Succ(x132), Zero)))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 *new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Succ(x197)))), Succ(Zero), Succ(Succ(x197))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x197))))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Succ(x178))), Zero, Succ(x178)))), Pos(Succ(Succ(Succ(Succ(Succ(x178)))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Zero))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Zero)), Succ(Succ(Zero)), Zero, Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Zero))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Zero))), Succ(Succ(Succ(Zero))), Succ(Zero), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Zero)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x190)))), Succ(Succ(Succ(Succ(x189)))), Succ(Succ(x190)), Succ(Succ(x189))))), Pos(Succ(Succ(Succ(Succ(Succ(Succ(x189))))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x190))))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(Succ(x194)))), Succ(Succ(Succ(Zero))), Succ(Succ(x194)), Succ(Zero)))), Pos(Succ(Succ(Succ(Succ(Succ(Zero)))))), Neg(Succ(Succ(Succ(Succ(Succ(Succ(x194))))))))) 170.11/122.22 170.11/122.22 170.11/122.22 *(new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(Succ(x175)))))), Pos(Succ(Succ(Succ(Succ(Zero))))))_>=_new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(Succ(x175))), Succ(Succ(Zero)), Succ(x175), Zero))), Pos(Succ(Succ(Succ(Succ(Zero))))), Neg(Succ(Succ(Succ(Succ(Succ(x175)))))))) 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 170.11/122.22 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. 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1256) 170.11/122.22 Obligation: 170.11/122.22 Q DP problem: 170.11/122.22 The TRS P consists of the following rules: 170.11/122.22 170.11/122.22 new_gcd0Gcd'1(False, Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x3))))), Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.11/122.22 new_gcd0Gcd'0(Pos(Succ(Succ(Succ(Succ(x2))))), Neg(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) 170.11/122.22 new_gcd0Gcd'1(False, Neg(Succ(Succ(Succ(Succ(x3))))), Pos(Succ(Succ(Succ(Succ(x2)))))) -> new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x3))))), Pos(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))) 170.11/122.22 new_gcd0Gcd'0(Neg(Succ(Succ(Succ(Succ(x2))))), Pos(Succ(Succ(Succ(Succ(x3)))))) -> new_gcd0Gcd'1(new_esEs(Neg(new_primModNatS01(Succ(Succ(x2)), Succ(Succ(x3)), x2, x3))), Pos(Succ(Succ(Succ(Succ(x3))))), Neg(Succ(Succ(Succ(Succ(x2)))))) 170.11/122.22 170.11/122.22 The TRS R consists of the following rules: 170.11/122.22 170.11/122.22 new_primModNatS1(Succ(Zero), Succ(vuz45000)) -> Succ(Zero) 170.11/122.22 new_primModNatS1(Succ(Succ(vuz46000)), Succ(vuz45000)) -> new_primModNatS01(vuz46000, vuz45000, vuz46000, vuz45000) 170.11/122.22 new_primModNatS01(vuz103, vuz104, Zero, Zero) -> new_primModNatS02(vuz103, vuz104) 170.11/122.22 new_primModNatS02(vuz103, vuz104) -> new_primModNatS1(new_primMinusNatS2(Succ(vuz103), Succ(vuz104)), Succ(vuz104)) 170.11/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Succ(vuz1060)) -> new_primModNatS01(vuz103, vuz104, vuz1050, vuz1060) 170.11/122.22 new_primModNatS01(vuz103, vuz104, Succ(vuz1050), Zero) -> new_primModNatS02(vuz103, vuz104) 170.11/122.22 new_primModNatS01(vuz103, vuz104, Zero, Succ(vuz1060)) -> Succ(Succ(vuz103)) 170.11/122.22 new_primMinusNatS2(Succ(vuz690), Succ(vuz700)) -> new_primMinusNatS2(vuz690, vuz700) 170.11/122.22 new_primModNatS1(Zero, vuz4500) -> Zero 170.11/122.22 new_primMinusNatS2(Zero, Zero) -> Zero 170.11/122.22 new_primMinusNatS2(Zero, Succ(vuz700)) -> Zero 170.11/122.22 new_primMinusNatS2(Succ(vuz690), Zero) -> Succ(vuz690) 170.11/122.22 new_esEs(Pos(Succ(vuz1600))) -> False 170.11/122.22 new_esEs(Pos(Zero)) -> True 170.11/122.22 new_esEs(Neg(Succ(vuz1600))) -> False 170.11/122.22 new_esEs(Neg(Zero)) -> True 170.11/122.22 170.11/122.22 The set Q consists of the following terms: 170.11/122.22 170.11/122.22 new_esEs(Pos(Succ(x0))) 170.11/122.22 new_primModNatS1(Succ(Zero), Succ(x0)) 170.11/122.22 new_primModNatS01(x0, x1, Zero, Succ(x2)) 170.11/122.22 new_primMinusNatS2(Zero, Succ(x0)) 170.11/122.22 new_primMinusNatS2(Succ(x0), Zero) 170.11/122.22 new_esEs(Neg(Succ(x0))) 170.11/122.22 new_primModNatS01(x0, x1, Succ(x2), Succ(x3)) 170.11/122.22 new_primModNatS1(Succ(Succ(x0)), Succ(x1)) 170.11/122.22 new_primMinusNatS2(Succ(x0), Succ(x1)) 170.11/122.22 new_primMinusNatS2(Zero, Zero) 170.11/122.22 new_primModNatS01(x0, x1, Succ(x2), Zero) 170.11/122.22 new_primModNatS1(Succ(Zero), Zero) 170.11/122.22 new_esEs(Pos(Zero)) 170.11/122.22 new_primModNatS1(Succ(Succ(x0)), Zero) 170.11/122.22 new_primModNatS1(Zero, x0) 170.11/122.22 new_primModNatS02(x0, x1) 170.11/122.22 new_primModNatS01(x0, x1, Zero, Zero) 170.11/122.22 new_esEs(Neg(Zero)) 170.11/122.22 170.11/122.22 We have to consider all minimal (P,Q,R)-chains. 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1257) 170.11/122.22 Obligation: 170.11/122.22 Q DP problem: 170.11/122.22 The TRS P consists of the following rules: 170.11/122.22 170.11/122.22 new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) 170.11/122.22 170.11/122.22 R is empty. 170.11/122.22 Q is empty. 170.11/122.22 We have to consider all minimal (P,Q,R)-chains. 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1258) QDPSizeChangeProof (EQUIVALENT) 170.11/122.22 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. 170.11/122.22 170.11/122.22 From the DPs we obtained the following set of size-change graphs: 170.11/122.22 *new_primMinusNat(Succ(vuz300), Succ(vuz400)) -> new_primMinusNat(vuz300, vuz400) 170.11/122.22 The graph contains the following edges 1 > 1, 2 > 2 170.11/122.22 170.11/122.22 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1259) 170.11/122.22 YES 170.11/122.22 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1260) 170.11/122.22 Obligation: 170.11/122.22 Q DP problem: 170.11/122.22 The TRS P consists of the following rules: 170.11/122.22 170.11/122.22 new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) 170.11/122.22 170.11/122.22 R is empty. 170.11/122.22 Q is empty. 170.11/122.22 We have to consider all minimal (P,Q,R)-chains. 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1261) QDPSizeChangeProof (EQUIVALENT) 170.11/122.22 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. 170.11/122.22 170.11/122.22 From the DPs we obtained the following set of size-change graphs: 170.11/122.22 *new_primPlusNat(Succ(vuz300), Succ(vuz400)) -> new_primPlusNat(vuz300, vuz400) 170.11/122.22 The graph contains the following edges 1 > 1, 2 > 2 170.11/122.22 170.11/122.22 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1262) 170.11/122.22 YES 170.11/122.22 170.11/122.22 ---------------------------------------- 170.11/122.22 170.11/122.22 (1263) Narrow (COMPLETE) 170.11/122.22 Haskell To QDPs 170.11/122.22 170.11/122.22 digraph dp_graph { 170.11/122.22 node [outthreshold=100, inthreshold=100];1[label="(+)",fontsize=16,color="grey",shape="box"];1 -> 3[label="",style="dashed", color="grey", weight=3]; 170.11/122.22 3[label="(+) vuz3",fontsize=16,color="grey",shape="box"];3 -> 4[label="",style="dashed", color="grey", weight=3]; 170.11/122.22 4[label="(+) vuz3 vuz4",fontsize=16,color="blue",shape="box"];1334[label="+ :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];4 -> 1334[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1334 -> 5[label="",style="solid", color="blue", weight=3]; 170.11/122.22 1335[label="+ :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];4 -> 1335[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1335 -> 6[label="",style="solid", color="blue", weight=3]; 170.11/122.22 1336[label="+ :: Double -> Double -> Double",fontsize=10,color="white",style="solid",shape="box"];4 -> 1336[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1336 -> 7[label="",style="solid", color="blue", weight=3]; 170.11/122.22 1337[label="+ :: (Ratio a) -> (Ratio a) -> Ratio a",fontsize=10,color="white",style="solid",shape="box"];4 -> 1337[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1337 -> 8[label="",style="solid", color="blue", weight=3]; 170.11/122.22 1338[label="+ :: Float -> Float -> Float",fontsize=10,color="white",style="solid",shape="box"];4 -> 1338[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1338 -> 9[label="",style="solid", color="blue", weight=3]; 170.11/122.22 5[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1339[label="vuz3/Integer vuz30",fontsize=10,color="white",style="solid",shape="box"];5 -> 1339[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1339 -> 10[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 6[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="triangle"];6 -> 11[label="",style="solid", color="black", weight=3]; 170.11/122.22 7[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];7 -> 12[label="",style="solid", color="black", weight=3]; 170.11/122.22 8[label="(+) vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1340[label="vuz3/vuz30 :% vuz31",fontsize=10,color="white",style="solid",shape="box"];8 -> 1340[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1340 -> 13[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 9[label="(+) vuz3 vuz4",fontsize=16,color="black",shape="box"];9 -> 14[label="",style="solid", color="black", weight=3]; 170.11/122.22 10[label="(+) Integer vuz30 vuz4",fontsize=16,color="burlywood",shape="box"];1341[label="vuz4/Integer vuz40",fontsize=10,color="white",style="solid",shape="box"];10 -> 1341[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1341 -> 15[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 11[label="primPlusInt vuz3 vuz4",fontsize=16,color="burlywood",shape="triangle"];1342[label="vuz3/Pos vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1342[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1342 -> 16[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1343[label="vuz3/Neg vuz30",fontsize=10,color="white",style="solid",shape="box"];11 -> 1343[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1343 -> 17[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 12[label="primPlusDouble vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1344[label="vuz3/Double vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];12 -> 1344[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1344 -> 18[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 13[label="(+) vuz30 :% vuz31 vuz4",fontsize=16,color="burlywood",shape="box"];1345[label="vuz4/vuz40 :% vuz41",fontsize=10,color="white",style="solid",shape="box"];13 -> 1345[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1345 -> 19[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 14[label="primPlusFloat vuz3 vuz4",fontsize=16,color="burlywood",shape="box"];1346[label="vuz3/Float vuz30 vuz31",fontsize=10,color="white",style="solid",shape="box"];14 -> 1346[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1346 -> 20[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 15[label="(+) Integer vuz30 Integer vuz40",fontsize=16,color="black",shape="box"];15 -> 21[label="",style="solid", color="black", weight=3]; 170.11/122.22 16[label="primPlusInt (Pos vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1347[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1347[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1347 -> 22[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1348[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];16 -> 1348[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1348 -> 23[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 17[label="primPlusInt (Neg vuz30) vuz4",fontsize=16,color="burlywood",shape="box"];1349[label="vuz4/Pos vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1349[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1349 -> 24[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1350[label="vuz4/Neg vuz40",fontsize=10,color="white",style="solid",shape="box"];17 -> 1350[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1350 -> 25[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 18[label="primPlusDouble (Double vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1351[label="vuz4/Double vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];18 -> 1351[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1351 -> 26[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 19[label="(+) vuz30 :% vuz31 vuz40 :% vuz41",fontsize=16,color="black",shape="box"];19 -> 27[label="",style="solid", color="black", weight=3]; 170.11/122.22 20[label="primPlusFloat (Float vuz30 vuz31) vuz4",fontsize=16,color="burlywood",shape="box"];1352[label="vuz4/Float vuz40 vuz41",fontsize=10,color="white",style="solid",shape="box"];20 -> 1352[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1352 -> 28[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 21[label="Integer (primPlusInt vuz30 vuz40)",fontsize=16,color="green",shape="box"];21 -> 29[label="",style="dashed", color="green", weight=3]; 170.11/122.22 22[label="primPlusInt (Pos vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];22 -> 30[label="",style="solid", color="black", weight=3]; 170.11/122.22 23[label="primPlusInt (Pos vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];23 -> 31[label="",style="solid", color="black", weight=3]; 170.11/122.22 24[label="primPlusInt (Neg vuz30) (Pos vuz40)",fontsize=16,color="black",shape="box"];24 -> 32[label="",style="solid", color="black", weight=3]; 170.11/122.22 25[label="primPlusInt (Neg vuz30) (Neg vuz40)",fontsize=16,color="black",shape="box"];25 -> 33[label="",style="solid", color="black", weight=3]; 170.11/122.22 26[label="primPlusDouble (Double vuz30 vuz31) (Double vuz40 vuz41)",fontsize=16,color="black",shape="box"];26 -> 34[label="",style="solid", color="black", weight=3]; 170.11/122.22 27[label="reduce (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];27 -> 35[label="",style="solid", color="black", weight=3]; 170.11/122.22 28[label="primPlusFloat (Float vuz30 vuz31) (Float vuz40 vuz41)",fontsize=16,color="black",shape="box"];28 -> 36[label="",style="solid", color="black", weight=3]; 170.11/122.22 29 -> 11[label="",style="dashed", color="red", weight=0]; 170.11/122.22 29[label="primPlusInt vuz30 vuz40",fontsize=16,color="magenta"];29 -> 37[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 29 -> 38[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 30[label="Pos (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];30 -> 39[label="",style="dashed", color="green", weight=3]; 170.11/122.22 31[label="primMinusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1353[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];31 -> 1353[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1353 -> 40[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1354[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];31 -> 1354[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1354 -> 41[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 32 -> 31[label="",style="dashed", color="red", weight=0]; 170.11/122.22 32[label="primMinusNat vuz40 vuz30",fontsize=16,color="magenta"];32 -> 42[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 32 -> 43[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 33[label="Neg (primPlusNat vuz30 vuz40)",fontsize=16,color="green",shape="box"];33 -> 44[label="",style="dashed", color="green", weight=3]; 170.11/122.22 34[label="Double (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];34 -> 45[label="",style="dashed", color="green", weight=3]; 170.11/122.22 34 -> 46[label="",style="dashed", color="green", weight=3]; 170.11/122.22 35[label="reduce2 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="black",shape="box"];35 -> 47[label="",style="solid", color="black", weight=3]; 170.11/122.22 36[label="Float (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41)",fontsize=16,color="green",shape="box"];36 -> 48[label="",style="dashed", color="green", weight=3]; 170.11/122.22 36 -> 49[label="",style="dashed", color="green", weight=3]; 170.11/122.22 37[label="vuz40",fontsize=16,color="green",shape="box"];38[label="vuz30",fontsize=16,color="green",shape="box"];39[label="primPlusNat vuz30 vuz40",fontsize=16,color="burlywood",shape="triangle"];1355[label="vuz30/Succ vuz300",fontsize=10,color="white",style="solid",shape="box"];39 -> 1355[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1355 -> 50[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1356[label="vuz30/Zero",fontsize=10,color="white",style="solid",shape="box"];39 -> 1356[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1356 -> 51[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 40[label="primMinusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1357[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];40 -> 1357[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1357 -> 52[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1358[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];40 -> 1358[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1358 -> 53[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 41[label="primMinusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1359[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];41 -> 1359[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1359 -> 54[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1360[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];41 -> 1360[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1360 -> 55[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 42[label="vuz40",fontsize=16,color="green",shape="box"];43[label="vuz30",fontsize=16,color="green",shape="box"];44 -> 39[label="",style="dashed", color="red", weight=0]; 170.11/122.22 44[label="primPlusNat vuz30 vuz40",fontsize=16,color="magenta"];44 -> 56[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 44 -> 57[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 45 -> 6[label="",style="dashed", color="red", weight=0]; 170.11/122.22 45[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];45 -> 58[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 45 -> 59[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 46[label="vuz31 * vuz41",fontsize=16,color="black",shape="triangle"];46 -> 60[label="",style="solid", color="black", weight=3]; 170.11/122.22 47 -> 61[label="",style="dashed", color="red", weight=0]; 170.11/122.22 47[label="reduce2Reduce1 (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz30 * vuz41 + vuz40 * vuz31) (vuz31 * vuz41) (vuz31 * vuz41 == fromInt (Pos Zero))",fontsize=16,color="magenta"];47 -> 62[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 47 -> 63[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 47 -> 64[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 47 -> 65[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 47 -> 66[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 48 -> 6[label="",style="dashed", color="red", weight=0]; 170.11/122.22 48[label="vuz30 * vuz41 + vuz40 * vuz31",fontsize=16,color="magenta"];48 -> 67[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 48 -> 68[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 49 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 49[label="vuz31 * vuz41",fontsize=16,color="magenta"];49 -> 69[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 49 -> 70[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 50[label="primPlusNat (Succ vuz300) vuz40",fontsize=16,color="burlywood",shape="box"];1361[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];50 -> 1361[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1361 -> 71[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1362[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];50 -> 1362[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1362 -> 72[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 51[label="primPlusNat Zero vuz40",fontsize=16,color="burlywood",shape="box"];1363[label="vuz40/Succ vuz400",fontsize=10,color="white",style="solid",shape="box"];51 -> 1363[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1363 -> 73[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1364[label="vuz40/Zero",fontsize=10,color="white",style="solid",shape="box"];51 -> 1364[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1364 -> 74[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 52[label="primMinusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];52 -> 75[label="",style="solid", color="black", weight=3]; 170.11/122.22 53[label="primMinusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];53 -> 76[label="",style="solid", color="black", weight=3]; 170.11/122.22 54[label="primMinusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];54 -> 77[label="",style="solid", color="black", weight=3]; 170.11/122.22 55[label="primMinusNat Zero Zero",fontsize=16,color="black",shape="box"];55 -> 78[label="",style="solid", color="black", weight=3]; 170.11/122.22 56[label="vuz40",fontsize=16,color="green",shape="box"];57[label="vuz30",fontsize=16,color="green",shape="box"];58 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 58[label="vuz40 * vuz31",fontsize=16,color="magenta"];58 -> 79[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 58 -> 80[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 59 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 59[label="vuz30 * vuz41",fontsize=16,color="magenta"];59 -> 81[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 60[label="primMulInt vuz31 vuz41",fontsize=16,color="burlywood",shape="triangle"];1365[label="vuz31/Pos vuz310",fontsize=10,color="white",style="solid",shape="box"];60 -> 1365[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1365 -> 82[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1366[label="vuz31/Neg vuz310",fontsize=10,color="white",style="solid",shape="box"];60 -> 1366[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1366 -> 83[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 62[label="vuz31",fontsize=16,color="green",shape="box"];63[label="vuz30",fontsize=16,color="green",shape="box"];64[label="vuz41",fontsize=16,color="green",shape="box"];65[label="vuz40",fontsize=16,color="green",shape="box"];66[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="blue",shape="box"];1367[label="== :: Int -> Int -> Bool",fontsize=10,color="white",style="solid",shape="box"];66 -> 1367[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1367 -> 84[label="",style="solid", color="blue", weight=3]; 170.11/122.22 1368[label="== :: Integer -> Integer -> Bool",fontsize=10,color="white",style="solid",shape="box"];66 -> 1368[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1368 -> 85[label="",style="solid", color="blue", weight=3]; 170.11/122.22 61[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) vuz15",fontsize=16,color="burlywood",shape="triangle"];1369[label="vuz15/False",fontsize=10,color="white",style="solid",shape="box"];61 -> 1369[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1369 -> 86[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1370[label="vuz15/True",fontsize=10,color="white",style="solid",shape="box"];61 -> 1370[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1370 -> 87[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 67 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 67[label="vuz40 * vuz31",fontsize=16,color="magenta"];67 -> 88[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 67 -> 89[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 68 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 68[label="vuz30 * vuz41",fontsize=16,color="magenta"];68 -> 90[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 68 -> 91[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 69[label="vuz31",fontsize=16,color="green",shape="box"];70[label="vuz41",fontsize=16,color="green",shape="box"];71[label="primPlusNat (Succ vuz300) (Succ vuz400)",fontsize=16,color="black",shape="box"];71 -> 92[label="",style="solid", color="black", weight=3]; 170.11/122.22 72[label="primPlusNat (Succ vuz300) Zero",fontsize=16,color="black",shape="box"];72 -> 93[label="",style="solid", color="black", weight=3]; 170.11/122.22 73[label="primPlusNat Zero (Succ vuz400)",fontsize=16,color="black",shape="box"];73 -> 94[label="",style="solid", color="black", weight=3]; 170.11/122.22 74[label="primPlusNat Zero Zero",fontsize=16,color="black",shape="box"];74 -> 95[label="",style="solid", color="black", weight=3]; 170.11/122.22 75 -> 31[label="",style="dashed", color="red", weight=0]; 170.11/122.22 75[label="primMinusNat vuz300 vuz400",fontsize=16,color="magenta"];75 -> 96[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 75 -> 97[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 76[label="Pos (Succ vuz300)",fontsize=16,color="green",shape="box"];77[label="Neg (Succ vuz400)",fontsize=16,color="green",shape="box"];78[label="Pos Zero",fontsize=16,color="green",shape="box"];79[label="vuz40",fontsize=16,color="green",shape="box"];80[label="vuz31",fontsize=16,color="green",shape="box"];81[label="vuz30",fontsize=16,color="green",shape="box"];82[label="primMulInt (Pos vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1371[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];82 -> 1371[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1371 -> 98[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1372[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];82 -> 1372[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1372 -> 99[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 83[label="primMulInt (Neg vuz310) vuz41",fontsize=16,color="burlywood",shape="box"];1373[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];83 -> 1373[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1373 -> 100[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1374[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];83 -> 1374[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1374 -> 101[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 84 -> 102[label="",style="dashed", color="red", weight=0]; 170.11/122.22 84[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="magenta"];84 -> 103[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 85[label="vuz31 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1375[label="vuz31/Integer vuz310",fontsize=10,color="white",style="solid",shape="box"];85 -> 1375[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1375 -> 104[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 86[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) False",fontsize=16,color="black",shape="box"];86 -> 105[label="",style="solid", color="black", weight=3]; 170.11/122.22 87[label="reduce2Reduce1 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];87 -> 106[label="",style="solid", color="black", weight=3]; 170.11/122.22 88[label="vuz40",fontsize=16,color="green",shape="box"];89[label="vuz31",fontsize=16,color="green",shape="box"];90[label="vuz30",fontsize=16,color="green",shape="box"];91[label="vuz41",fontsize=16,color="green",shape="box"];92[label="Succ (Succ (primPlusNat vuz300 vuz400))",fontsize=16,color="green",shape="box"];92 -> 107[label="",style="dashed", color="green", weight=3]; 170.11/122.22 93[label="Succ vuz300",fontsize=16,color="green",shape="box"];94[label="Succ vuz400",fontsize=16,color="green",shape="box"];95[label="Zero",fontsize=16,color="green",shape="box"];96[label="vuz300",fontsize=16,color="green",shape="box"];97[label="vuz400",fontsize=16,color="green",shape="box"];98[label="primMulInt (Pos vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];98 -> 108[label="",style="solid", color="black", weight=3]; 170.11/122.22 99[label="primMulInt (Pos vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];99 -> 109[label="",style="solid", color="black", weight=3]; 170.11/122.22 100[label="primMulInt (Neg vuz310) (Pos vuz410)",fontsize=16,color="black",shape="box"];100 -> 110[label="",style="solid", color="black", weight=3]; 170.11/122.22 101[label="primMulInt (Neg vuz310) (Neg vuz410)",fontsize=16,color="black",shape="box"];101 -> 111[label="",style="solid", color="black", weight=3]; 170.11/122.22 103 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 103[label="vuz31 * vuz41",fontsize=16,color="magenta"];103 -> 112[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 103 -> 113[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 102[label="vuz16 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];102 -> 114[label="",style="solid", color="black", weight=3]; 170.11/122.22 104[label="Integer vuz310 * vuz41 == fromInt (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1376[label="vuz41/Integer vuz410",fontsize=10,color="white",style="solid",shape="box"];104 -> 1376[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1376 -> 115[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 105[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) otherwise",fontsize=16,color="black",shape="box"];105 -> 116[label="",style="solid", color="black", weight=3]; 170.11/122.22 106[label="error []",fontsize=16,color="black",shape="box"];106 -> 117[label="",style="solid", color="black", weight=3]; 170.11/122.22 107 -> 39[label="",style="dashed", color="red", weight=0]; 170.11/122.22 107[label="primPlusNat vuz300 vuz400",fontsize=16,color="magenta"];107 -> 118[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 107 -> 119[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 108[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];108 -> 120[label="",style="dashed", color="green", weight=3]; 170.11/122.22 109[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];109 -> 121[label="",style="dashed", color="green", weight=3]; 170.11/122.22 110[label="Neg (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];110 -> 122[label="",style="dashed", color="green", weight=3]; 170.11/122.22 111[label="Pos (primMulNat vuz310 vuz410)",fontsize=16,color="green",shape="box"];111 -> 123[label="",style="dashed", color="green", weight=3]; 170.11/122.22 112[label="vuz31",fontsize=16,color="green",shape="box"];113[label="vuz41",fontsize=16,color="green",shape="box"];114[label="primEqInt vuz16 (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1377[label="vuz16/Pos vuz160",fontsize=10,color="white",style="solid",shape="box"];114 -> 1377[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1377 -> 124[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1378[label="vuz16/Neg vuz160",fontsize=10,color="white",style="solid",shape="box"];114 -> 1378[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1378 -> 125[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 115[label="Integer vuz310 * Integer vuz410 == fromInt (Pos Zero)",fontsize=16,color="black",shape="box"];115 -> 126[label="",style="solid", color="black", weight=3]; 170.11/122.22 116[label="reduce2Reduce0 (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) True",fontsize=16,color="black",shape="box"];116 -> 127[label="",style="solid", color="black", weight=3]; 170.11/122.22 117[label="error []",fontsize=16,color="red",shape="box"];118[label="vuz400",fontsize=16,color="green",shape="box"];119[label="vuz300",fontsize=16,color="green",shape="box"];120[label="primMulNat vuz310 vuz410",fontsize=16,color="burlywood",shape="triangle"];1379[label="vuz310/Succ vuz3100",fontsize=10,color="white",style="solid",shape="box"];120 -> 1379[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1379 -> 128[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1380[label="vuz310/Zero",fontsize=10,color="white",style="solid",shape="box"];120 -> 1380[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1380 -> 129[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 121 -> 120[label="",style="dashed", color="red", weight=0]; 170.11/122.22 121[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];121 -> 130[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 122 -> 120[label="",style="dashed", color="red", weight=0]; 170.11/122.22 122[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];122 -> 131[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 123 -> 120[label="",style="dashed", color="red", weight=0]; 170.11/122.22 123[label="primMulNat vuz310 vuz410",fontsize=16,color="magenta"];123 -> 132[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 123 -> 133[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 124[label="primEqInt (Pos vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1381[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];124 -> 1381[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1381 -> 134[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1382[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];124 -> 1382[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1382 -> 135[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 125[label="primEqInt (Neg vuz160) (fromInt (Pos Zero))",fontsize=16,color="burlywood",shape="box"];1383[label="vuz160/Succ vuz1600",fontsize=10,color="white",style="solid",shape="box"];125 -> 1383[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1383 -> 136[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1384[label="vuz160/Zero",fontsize=10,color="white",style="solid",shape="box"];125 -> 1384[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1384 -> 137[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 126 -> 138[label="",style="dashed", color="red", weight=0]; 170.11/122.22 126[label="Integer (primMulInt vuz310 vuz410) == fromInt (Pos Zero)",fontsize=16,color="magenta"];126 -> 139[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 127[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12) :% (vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12))",fontsize=16,color="green",shape="box"];127 -> 140[label="",style="dashed", color="green", weight=3]; 170.11/122.22 127 -> 141[label="",style="dashed", color="green", weight=3]; 170.11/122.22 128[label="primMulNat (Succ vuz3100) vuz410",fontsize=16,color="burlywood",shape="box"];1385[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];128 -> 1385[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1385 -> 142[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1386[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];128 -> 1386[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1386 -> 143[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 129[label="primMulNat Zero vuz410",fontsize=16,color="burlywood",shape="box"];1387[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];129 -> 1387[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1387 -> 144[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1388[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];129 -> 1388[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1388 -> 145[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 130[label="vuz410",fontsize=16,color="green",shape="box"];131[label="vuz310",fontsize=16,color="green",shape="box"];132[label="vuz310",fontsize=16,color="green",shape="box"];133[label="vuz410",fontsize=16,color="green",shape="box"];134[label="primEqInt (Pos (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];134 -> 146[label="",style="solid", color="black", weight=3]; 170.11/122.22 135[label="primEqInt (Pos Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];135 -> 147[label="",style="solid", color="black", weight=3]; 170.11/122.22 136[label="primEqInt (Neg (Succ vuz1600)) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];136 -> 148[label="",style="solid", color="black", weight=3]; 170.11/122.22 137[label="primEqInt (Neg Zero) (fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];137 -> 149[label="",style="solid", color="black", weight=3]; 170.11/122.22 139 -> 60[label="",style="dashed", color="red", weight=0]; 170.11/122.22 139[label="primMulInt vuz310 vuz410",fontsize=16,color="magenta"];139 -> 150[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 139 -> 151[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 138[label="Integer vuz17 == fromInt (Pos Zero)",fontsize=16,color="black",shape="triangle"];138 -> 152[label="",style="solid", color="black", weight=3]; 170.11/122.22 140[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1389[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];140 -> 1389[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1389 -> 153[label="",style="solid", color="blue", weight=3]; 170.11/122.22 1390[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];140 -> 1390[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1390 -> 154[label="",style="solid", color="blue", weight=3]; 170.11/122.22 141[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="blue",shape="box"];1391[label="`quot` :: Integer -> Integer -> Integer",fontsize=10,color="white",style="solid",shape="box"];141 -> 1391[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1391 -> 155[label="",style="solid", color="blue", weight=3]; 170.11/122.22 1392[label="`quot` :: Int -> Int -> Int",fontsize=10,color="white",style="solid",shape="box"];141 -> 1392[label="",style="solid", color="blue", weight=9]; 170.11/122.22 1392 -> 156[label="",style="solid", color="blue", weight=3]; 170.11/122.22 142[label="primMulNat (Succ vuz3100) (Succ vuz4100)",fontsize=16,color="black",shape="box"];142 -> 157[label="",style="solid", color="black", weight=3]; 170.11/122.22 143[label="primMulNat (Succ vuz3100) Zero",fontsize=16,color="black",shape="box"];143 -> 158[label="",style="solid", color="black", weight=3]; 170.11/122.22 144[label="primMulNat Zero (Succ vuz4100)",fontsize=16,color="black",shape="box"];144 -> 159[label="",style="solid", color="black", weight=3]; 170.11/122.22 145[label="primMulNat Zero Zero",fontsize=16,color="black",shape="box"];145 -> 160[label="",style="solid", color="black", weight=3]; 170.11/122.22 146[label="primEqInt (Pos (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];146 -> 161[label="",style="solid", color="black", weight=3]; 170.11/122.22 147[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];147 -> 162[label="",style="solid", color="black", weight=3]; 170.11/122.22 148[label="primEqInt (Neg (Succ vuz1600)) (Pos Zero)",fontsize=16,color="black",shape="box"];148 -> 163[label="",style="solid", color="black", weight=3]; 170.11/122.22 149[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];149 -> 164[label="",style="solid", color="black", weight=3]; 170.11/122.22 150[label="vuz310",fontsize=16,color="green",shape="box"];151[label="vuz410",fontsize=16,color="green",shape="box"];152[label="Integer vuz17 == Integer (Pos Zero)",fontsize=16,color="black",shape="triangle"];152 -> 165[label="",style="solid", color="black", weight=3]; 170.11/122.22 153 -> 166[label="",style="dashed", color="red", weight=0]; 170.11/122.22 153[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];153 -> 167[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 153 -> 168[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 154 -> 171[label="",style="dashed", color="red", weight=0]; 170.11/122.22 154[label="(vuz11 * vuz12 + vuz13 * vuz14) `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];154 -> 172[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 154 -> 173[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 154 -> 174[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 155 -> 166[label="",style="dashed", color="red", weight=0]; 170.11/122.22 155[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];155 -> 169[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 155 -> 170[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 156 -> 171[label="",style="dashed", color="red", weight=0]; 170.11/122.22 156[label="vuz14 * vuz12 `quot` reduce2D (vuz11 * vuz12 + vuz13 * vuz14) (vuz14 * vuz12)",fontsize=16,color="magenta"];156 -> 175[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 156 -> 176[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 156 -> 177[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 157 -> 39[label="",style="dashed", color="red", weight=0]; 170.11/122.22 157[label="primPlusNat (primMulNat vuz3100 (Succ vuz4100)) (Succ vuz4100)",fontsize=16,color="magenta"];157 -> 178[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 157 -> 179[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 158[label="Zero",fontsize=16,color="green",shape="box"];159[label="Zero",fontsize=16,color="green",shape="box"];160[label="Zero",fontsize=16,color="green",shape="box"];161[label="False",fontsize=16,color="green",shape="box"];162[label="True",fontsize=16,color="green",shape="box"];163[label="False",fontsize=16,color="green",shape="box"];164[label="True",fontsize=16,color="green",shape="box"];165[label="primEqInt vuz17 (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1393[label="vuz17/Pos vuz170",fontsize=10,color="white",style="solid",shape="box"];165 -> 1393[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1393 -> 180[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1394[label="vuz17/Neg vuz170",fontsize=10,color="white",style="solid",shape="box"];165 -> 1394[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1394 -> 181[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 167 -> 5[label="",style="dashed", color="red", weight=0]; 170.11/122.22 167[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];167 -> 182[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 167 -> 183[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 168 -> 5[label="",style="dashed", color="red", weight=0]; 170.11/122.22 168[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];168 -> 184[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 168 -> 185[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 166[label="vuz18 `quot` reduce2D vuz19 (vuz14 * vuz12)",fontsize=16,color="burlywood",shape="triangle"];1395[label="vuz18/Integer vuz180",fontsize=10,color="white",style="solid",shape="box"];166 -> 1395[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1395 -> 186[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 172 -> 6[label="",style="dashed", color="red", weight=0]; 170.11/122.22 172[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];172 -> 187[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 172 -> 188[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 173 -> 6[label="",style="dashed", color="red", weight=0]; 170.11/122.22 173[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];173 -> 189[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 173 -> 190[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 174 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 174[label="vuz14 * vuz12",fontsize=16,color="magenta"];174 -> 191[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 174 -> 192[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 171[label="vuz20 `quot` reduce2D vuz22 vuz21",fontsize=16,color="black",shape="triangle"];171 -> 193[label="",style="solid", color="black", weight=3]; 170.11/122.22 169[label="vuz14 * vuz12",fontsize=16,color="burlywood",shape="triangle"];1396[label="vuz14/Integer vuz140",fontsize=10,color="white",style="solid",shape="box"];169 -> 1396[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1396 -> 194[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 170 -> 5[label="",style="dashed", color="red", weight=0]; 170.11/122.22 170[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];170 -> 195[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 170 -> 196[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 175 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 175[label="vuz14 * vuz12",fontsize=16,color="magenta"];175 -> 197[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 175 -> 198[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 176 -> 6[label="",style="dashed", color="red", weight=0]; 170.11/122.22 176[label="vuz11 * vuz12 + vuz13 * vuz14",fontsize=16,color="magenta"];176 -> 199[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 176 -> 200[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 177 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 177[label="vuz14 * vuz12",fontsize=16,color="magenta"];177 -> 201[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 177 -> 202[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 178[label="Succ vuz4100",fontsize=16,color="green",shape="box"];179 -> 120[label="",style="dashed", color="red", weight=0]; 170.11/122.22 179[label="primMulNat vuz3100 (Succ vuz4100)",fontsize=16,color="magenta"];179 -> 203[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 179 -> 204[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 180[label="primEqInt (Pos vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1397[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];180 -> 1397[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1397 -> 205[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1398[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];180 -> 1398[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1398 -> 206[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 181[label="primEqInt (Neg vuz170) (Pos Zero)",fontsize=16,color="burlywood",shape="box"];1399[label="vuz170/Succ vuz1700",fontsize=10,color="white",style="solid",shape="box"];181 -> 1399[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1399 -> 207[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1400[label="vuz170/Zero",fontsize=10,color="white",style="solid",shape="box"];181 -> 1400[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1400 -> 208[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 182 -> 169[label="",style="dashed", color="red", weight=0]; 170.11/122.22 182[label="vuz13 * vuz14",fontsize=16,color="magenta"];182 -> 209[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 182 -> 210[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 183 -> 169[label="",style="dashed", color="red", weight=0]; 170.11/122.22 183[label="vuz11 * vuz12",fontsize=16,color="magenta"];183 -> 211[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 184 -> 169[label="",style="dashed", color="red", weight=0]; 170.11/122.22 184[label="vuz13 * vuz14",fontsize=16,color="magenta"];184 -> 212[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 184 -> 213[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 185 -> 169[label="",style="dashed", color="red", weight=0]; 170.11/122.22 185[label="vuz11 * vuz12",fontsize=16,color="magenta"];185 -> 214[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 186[label="Integer vuz180 `quot` reduce2D vuz19 (vuz14 * vuz12)",fontsize=16,color="black",shape="box"];186 -> 215[label="",style="solid", color="black", weight=3]; 170.11/122.22 187 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 187[label="vuz13 * vuz14",fontsize=16,color="magenta"];187 -> 216[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 187 -> 217[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 188 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 188[label="vuz11 * vuz12",fontsize=16,color="magenta"];188 -> 218[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 188 -> 219[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 189 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 189[label="vuz13 * vuz14",fontsize=16,color="magenta"];189 -> 220[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 189 -> 221[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 190 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 190[label="vuz11 * vuz12",fontsize=16,color="magenta"];190 -> 222[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 190 -> 223[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 191[label="vuz14",fontsize=16,color="green",shape="box"];192[label="vuz12",fontsize=16,color="green",shape="box"];193[label="primQuotInt vuz20 (reduce2D vuz22 vuz21)",fontsize=16,color="burlywood",shape="box"];1401[label="vuz20/Pos vuz200",fontsize=10,color="white",style="solid",shape="box"];193 -> 1401[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1401 -> 224[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1402[label="vuz20/Neg vuz200",fontsize=10,color="white",style="solid",shape="box"];193 -> 1402[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1402 -> 225[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 194[label="Integer vuz140 * vuz12",fontsize=16,color="burlywood",shape="box"];1403[label="vuz12/Integer vuz120",fontsize=10,color="white",style="solid",shape="box"];194 -> 1403[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1403 -> 226[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 195 -> 169[label="",style="dashed", color="red", weight=0]; 170.11/122.22 195[label="vuz13 * vuz14",fontsize=16,color="magenta"];195 -> 227[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 195 -> 228[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 196 -> 169[label="",style="dashed", color="red", weight=0]; 170.11/122.22 196[label="vuz11 * vuz12",fontsize=16,color="magenta"];196 -> 229[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 197[label="vuz14",fontsize=16,color="green",shape="box"];198[label="vuz12",fontsize=16,color="green",shape="box"];199 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 199[label="vuz13 * vuz14",fontsize=16,color="magenta"];199 -> 230[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 199 -> 231[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 200 -> 46[label="",style="dashed", color="red", weight=0]; 170.11/122.22 200[label="vuz11 * vuz12",fontsize=16,color="magenta"];200 -> 232[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 200 -> 233[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 201[label="vuz14",fontsize=16,color="green",shape="box"];202[label="vuz12",fontsize=16,color="green",shape="box"];203[label="vuz3100",fontsize=16,color="green",shape="box"];204[label="Succ vuz4100",fontsize=16,color="green",shape="box"];205[label="primEqInt (Pos (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];205 -> 234[label="",style="solid", color="black", weight=3]; 170.11/122.22 206[label="primEqInt (Pos Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];206 -> 235[label="",style="solid", color="black", weight=3]; 170.11/122.22 207[label="primEqInt (Neg (Succ vuz1700)) (Pos Zero)",fontsize=16,color="black",shape="box"];207 -> 236[label="",style="solid", color="black", weight=3]; 170.11/122.22 208[label="primEqInt (Neg Zero) (Pos Zero)",fontsize=16,color="black",shape="box"];208 -> 237[label="",style="solid", color="black", weight=3]; 170.11/122.22 209[label="vuz13",fontsize=16,color="green",shape="box"];210[label="vuz14",fontsize=16,color="green",shape="box"];211[label="vuz11",fontsize=16,color="green",shape="box"];212[label="vuz13",fontsize=16,color="green",shape="box"];213[label="vuz14",fontsize=16,color="green",shape="box"];214[label="vuz11",fontsize=16,color="green",shape="box"];215 -> 238[label="",style="dashed", color="red", weight=0]; 170.11/122.22 215[label="Integer vuz180 `quot` gcd vuz19 (vuz14 * vuz12)",fontsize=16,color="magenta"];215 -> 239[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 216[label="vuz13",fontsize=16,color="green",shape="box"];217[label="vuz14",fontsize=16,color="green",shape="box"];218[label="vuz11",fontsize=16,color="green",shape="box"];219[label="vuz12",fontsize=16,color="green",shape="box"];220[label="vuz13",fontsize=16,color="green",shape="box"];221[label="vuz14",fontsize=16,color="green",shape="box"];222[label="vuz11",fontsize=16,color="green",shape="box"];223[label="vuz12",fontsize=16,color="green",shape="box"];224[label="primQuotInt (Pos vuz200) (reduce2D vuz22 vuz21)",fontsize=16,color="black",shape="box"];224 -> 240[label="",style="solid", color="black", weight=3]; 170.11/122.22 225[label="primQuotInt (Neg vuz200) (reduce2D vuz22 vuz21)",fontsize=16,color="black",shape="box"];225 -> 241[label="",style="solid", color="black", weight=3]; 170.11/122.22 226[label="Integer vuz140 * Integer vuz120",fontsize=16,color="black",shape="box"];226 -> 242[label="",style="solid", color="black", weight=3]; 170.11/122.22 227[label="vuz13",fontsize=16,color="green",shape="box"];228[label="vuz14",fontsize=16,color="green",shape="box"];229[label="vuz11",fontsize=16,color="green",shape="box"];230[label="vuz13",fontsize=16,color="green",shape="box"];231[label="vuz14",fontsize=16,color="green",shape="box"];232[label="vuz11",fontsize=16,color="green",shape="box"];233[label="vuz12",fontsize=16,color="green",shape="box"];234[label="False",fontsize=16,color="green",shape="box"];235[label="True",fontsize=16,color="green",shape="box"];236[label="False",fontsize=16,color="green",shape="box"];237[label="True",fontsize=16,color="green",shape="box"];239 -> 169[label="",style="dashed", color="red", weight=0]; 170.11/122.22 239[label="vuz14 * vuz12",fontsize=16,color="magenta"];238[label="Integer vuz180 `quot` gcd vuz19 vuz27",fontsize=16,color="black",shape="triangle"];238 -> 243[label="",style="solid", color="black", weight=3]; 170.11/122.22 240 -> 330[label="",style="dashed", color="red", weight=0]; 170.11/122.22 240[label="primQuotInt (Pos vuz200) (gcd vuz22 vuz21)",fontsize=16,color="magenta"];240 -> 331[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 241 -> 358[label="",style="dashed", color="red", weight=0]; 170.11/122.22 241[label="primQuotInt (Neg vuz200) (gcd vuz22 vuz21)",fontsize=16,color="magenta"];241 -> 359[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 242[label="Integer (primMulInt vuz140 vuz120)",fontsize=16,color="green",shape="box"];242 -> 246[label="",style="dashed", color="green", weight=3]; 170.11/122.22 243[label="Integer vuz180 `quot` gcd3 vuz19 vuz27",fontsize=16,color="black",shape="box"];243 -> 247[label="",style="solid", color="black", weight=3]; 170.11/122.22 331[label="gcd vuz22 vuz21",fontsize=16,color="black",shape="triangle"];331 -> 347[label="",style="solid", color="black", weight=3]; 170.11/122.22 330[label="primQuotInt (Pos vuz200) vuz38",fontsize=16,color="burlywood",shape="triangle"];1404[label="vuz38/Pos vuz380",fontsize=10,color="white",style="solid",shape="box"];330 -> 1404[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1404 -> 348[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1405[label="vuz38/Neg vuz380",fontsize=10,color="white",style="solid",shape="box"];330 -> 1405[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1405 -> 349[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 359 -> 331[label="",style="dashed", color="red", weight=0]; 170.11/122.22 359[label="gcd vuz22 vuz21",fontsize=16,color="magenta"];358[label="primQuotInt (Neg vuz200) vuz41",fontsize=16,color="burlywood",shape="triangle"];1406[label="vuz41/Pos vuz410",fontsize=10,color="white",style="solid",shape="box"];358 -> 1406[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1406 -> 375[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1407[label="vuz41/Neg vuz410",fontsize=10,color="white",style="solid",shape="box"];358 -> 1407[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1407 -> 376[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 246 -> 60[label="",style="dashed", color="red", weight=0]; 170.11/122.22 246[label="primMulInt vuz140 vuz120",fontsize=16,color="magenta"];246 -> 250[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 246 -> 251[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 247[label="Integer vuz180 `quot` gcd2 (vuz19 == fromInt (Pos Zero)) vuz19 vuz27",fontsize=16,color="burlywood",shape="box"];1408[label="vuz19/Integer vuz190",fontsize=10,color="white",style="solid",shape="box"];247 -> 1408[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1408 -> 252[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 347[label="gcd3 vuz22 vuz21",fontsize=16,color="black",shape="box"];347 -> 353[label="",style="solid", color="black", weight=3]; 170.11/122.22 348[label="primQuotInt (Pos vuz200) (Pos vuz380)",fontsize=16,color="burlywood",shape="box"];1409[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];348 -> 1409[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1409 -> 354[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1410[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];348 -> 1410[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1410 -> 355[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 349[label="primQuotInt (Pos vuz200) (Neg vuz380)",fontsize=16,color="burlywood",shape="box"];1411[label="vuz380/Succ vuz3800",fontsize=10,color="white",style="solid",shape="box"];349 -> 1411[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1411 -> 356[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1412[label="vuz380/Zero",fontsize=10,color="white",style="solid",shape="box"];349 -> 1412[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1412 -> 357[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 375[label="primQuotInt (Neg vuz200) (Pos vuz410)",fontsize=16,color="burlywood",shape="box"];1413[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];375 -> 1413[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1413 -> 379[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1414[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];375 -> 1414[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1414 -> 380[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 376[label="primQuotInt (Neg vuz200) (Neg vuz410)",fontsize=16,color="burlywood",shape="box"];1415[label="vuz410/Succ vuz4100",fontsize=10,color="white",style="solid",shape="box"];376 -> 1415[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1415 -> 381[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1416[label="vuz410/Zero",fontsize=10,color="white",style="solid",shape="box"];376 -> 1416[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1416 -> 382[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 250[label="vuz140",fontsize=16,color="green",shape="box"];251[label="vuz120",fontsize=16,color="green",shape="box"];252[label="Integer vuz180 `quot` gcd2 (Integer vuz190 == fromInt (Pos Zero)) (Integer vuz190) vuz27",fontsize=16,color="black",shape="box"];252 -> 257[label="",style="solid", color="black", weight=3]; 170.11/122.22 353 -> 377[label="",style="dashed", color="red", weight=0]; 170.11/122.22 353[label="gcd2 (vuz22 == fromInt (Pos Zero)) vuz22 vuz21",fontsize=16,color="magenta"];353 -> 378[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 354[label="primQuotInt (Pos vuz200) (Pos (Succ vuz3800))",fontsize=16,color="black",shape="box"];354 -> 383[label="",style="solid", color="black", weight=3]; 170.11/122.22 355[label="primQuotInt (Pos vuz200) (Pos Zero)",fontsize=16,color="black",shape="box"];355 -> 384[label="",style="solid", color="black", weight=3]; 170.11/122.22 356[label="primQuotInt (Pos vuz200) (Neg (Succ vuz3800))",fontsize=16,color="black",shape="box"];356 -> 385[label="",style="solid", color="black", weight=3]; 170.11/122.22 357[label="primQuotInt (Pos vuz200) (Neg Zero)",fontsize=16,color="black",shape="box"];357 -> 386[label="",style="solid", color="black", weight=3]; 170.11/122.22 379[label="primQuotInt (Neg vuz200) (Pos (Succ vuz4100))",fontsize=16,color="black",shape="box"];379 -> 393[label="",style="solid", color="black", weight=3]; 170.11/122.22 380[label="primQuotInt (Neg vuz200) (Pos Zero)",fontsize=16,color="black",shape="box"];380 -> 394[label="",style="solid", color="black", weight=3]; 170.11/122.22 381[label="primQuotInt (Neg vuz200) (Neg (Succ vuz4100))",fontsize=16,color="black",shape="box"];381 -> 395[label="",style="solid", color="black", weight=3]; 170.11/122.22 382[label="primQuotInt (Neg vuz200) (Neg Zero)",fontsize=16,color="black",shape="box"];382 -> 396[label="",style="solid", color="black", weight=3]; 170.11/122.22 257 -> 264[label="",style="dashed", color="red", weight=0]; 170.11/122.22 257[label="Integer vuz180 `quot` gcd2 (Integer vuz190 == Integer (Pos Zero)) (Integer vuz190) vuz27",fontsize=16,color="magenta"];257 -> 265[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 378 -> 102[label="",style="dashed", color="red", weight=0]; 170.11/122.22 378[label="vuz22 == fromInt (Pos Zero)",fontsize=16,color="magenta"];378 -> 387[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 377[label="gcd2 vuz42 vuz22 vuz21",fontsize=16,color="burlywood",shape="triangle"];1417[label="vuz42/False",fontsize=10,color="white",style="solid",shape="box"];377 -> 1417[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1417 -> 388[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1418[label="vuz42/True",fontsize=10,color="white",style="solid",shape="box"];377 -> 1418[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1418 -> 389[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 383[label="Pos (primDivNatS vuz200 (Succ vuz3800))",fontsize=16,color="green",shape="box"];383 -> 397[label="",style="dashed", color="green", weight=3]; 170.11/122.22 384[label="error []",fontsize=16,color="black",shape="triangle"];384 -> 398[label="",style="solid", color="black", weight=3]; 170.11/122.22 385[label="Neg (primDivNatS vuz200 (Succ vuz3800))",fontsize=16,color="green",shape="box"];385 -> 399[label="",style="dashed", color="green", weight=3]; 170.11/122.22 386 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 386[label="error []",fontsize=16,color="magenta"];393[label="Neg (primDivNatS vuz200 (Succ vuz4100))",fontsize=16,color="green",shape="box"];393 -> 403[label="",style="dashed", color="green", weight=3]; 170.11/122.22 394 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 394[label="error []",fontsize=16,color="magenta"];395[label="Pos (primDivNatS vuz200 (Succ vuz4100))",fontsize=16,color="green",shape="box"];395 -> 404[label="",style="dashed", color="green", weight=3]; 170.11/122.22 396 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 396[label="error []",fontsize=16,color="magenta"];265 -> 152[label="",style="dashed", color="red", weight=0]; 170.11/122.22 265[label="Integer vuz190 == Integer (Pos Zero)",fontsize=16,color="magenta"];265 -> 270[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 264[label="Integer vuz180 `quot` gcd2 vuz30 (Integer vuz190) vuz27",fontsize=16,color="burlywood",shape="triangle"];1419[label="vuz30/False",fontsize=10,color="white",style="solid",shape="box"];264 -> 1419[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1419 -> 271[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1420[label="vuz30/True",fontsize=10,color="white",style="solid",shape="box"];264 -> 1420[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1420 -> 272[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 387[label="vuz22",fontsize=16,color="green",shape="box"];388[label="gcd2 False vuz22 vuz21",fontsize=16,color="black",shape="box"];388 -> 400[label="",style="solid", color="black", weight=3]; 170.11/122.22 389[label="gcd2 True vuz22 vuz21",fontsize=16,color="black",shape="box"];389 -> 401[label="",style="solid", color="black", weight=3]; 170.11/122.22 397[label="primDivNatS vuz200 (Succ vuz3800)",fontsize=16,color="burlywood",shape="triangle"];1421[label="vuz200/Succ vuz2000",fontsize=10,color="white",style="solid",shape="box"];397 -> 1421[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1421 -> 405[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1422[label="vuz200/Zero",fontsize=10,color="white",style="solid",shape="box"];397 -> 1422[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1422 -> 406[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 398[label="error []",fontsize=16,color="red",shape="box"];399 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.22 399[label="primDivNatS vuz200 (Succ vuz3800)",fontsize=16,color="magenta"];399 -> 407[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 403 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.22 403[label="primDivNatS vuz200 (Succ vuz4100)",fontsize=16,color="magenta"];403 -> 411[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 403 -> 412[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 404 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.22 404[label="primDivNatS vuz200 (Succ vuz4100)",fontsize=16,color="magenta"];404 -> 413[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 404 -> 414[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 270[label="vuz190",fontsize=16,color="green",shape="box"];271[label="Integer vuz180 `quot` gcd2 False (Integer vuz190) vuz27",fontsize=16,color="black",shape="box"];271 -> 279[label="",style="solid", color="black", weight=3]; 170.11/122.22 272[label="Integer vuz180 `quot` gcd2 True (Integer vuz190) vuz27",fontsize=16,color="black",shape="box"];272 -> 280[label="",style="solid", color="black", weight=3]; 170.11/122.22 400[label="gcd0 vuz22 vuz21",fontsize=16,color="black",shape="triangle"];400 -> 408[label="",style="solid", color="black", weight=3]; 170.11/122.22 401 -> 409[label="",style="dashed", color="red", weight=0]; 170.11/122.22 401[label="gcd1 (vuz21 == fromInt (Pos Zero)) vuz22 vuz21",fontsize=16,color="magenta"];401 -> 410[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 405[label="primDivNatS (Succ vuz2000) (Succ vuz3800)",fontsize=16,color="black",shape="box"];405 -> 415[label="",style="solid", color="black", weight=3]; 170.11/122.22 406[label="primDivNatS Zero (Succ vuz3800)",fontsize=16,color="black",shape="box"];406 -> 416[label="",style="solid", color="black", weight=3]; 170.11/122.22 407[label="vuz3800",fontsize=16,color="green",shape="box"];411[label="vuz200",fontsize=16,color="green",shape="box"];412[label="vuz4100",fontsize=16,color="green",shape="box"];413[label="vuz200",fontsize=16,color="green",shape="box"];414[label="vuz4100",fontsize=16,color="green",shape="box"];279[label="Integer vuz180 `quot` gcd0 (Integer vuz190) vuz27",fontsize=16,color="black",shape="triangle"];279 -> 289[label="",style="solid", color="black", weight=3]; 170.11/122.22 280[label="Integer vuz180 `quot` gcd1 (vuz27 == fromInt (Pos Zero)) (Integer vuz190) vuz27",fontsize=16,color="burlywood",shape="box"];1423[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];280 -> 1423[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1423 -> 290[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 408[label="gcd0Gcd' (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];408 -> 417[label="",style="solid", color="black", weight=3]; 170.11/122.22 410 -> 102[label="",style="dashed", color="red", weight=0]; 170.11/122.22 410[label="vuz21 == fromInt (Pos Zero)",fontsize=16,color="magenta"];410 -> 418[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 409[label="gcd1 vuz43 vuz22 vuz21",fontsize=16,color="burlywood",shape="triangle"];1424[label="vuz43/False",fontsize=10,color="white",style="solid",shape="box"];409 -> 1424[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1424 -> 419[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1425[label="vuz43/True",fontsize=10,color="white",style="solid",shape="box"];409 -> 1425[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1425 -> 420[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 415[label="primDivNatS0 vuz2000 vuz3800 (primGEqNatS vuz2000 vuz3800)",fontsize=16,color="burlywood",shape="box"];1426[label="vuz2000/Succ vuz20000",fontsize=10,color="white",style="solid",shape="box"];415 -> 1426[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1426 -> 422[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1427[label="vuz2000/Zero",fontsize=10,color="white",style="solid",shape="box"];415 -> 1427[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1427 -> 423[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 416[label="Zero",fontsize=16,color="green",shape="box"];289[label="Integer vuz180 `quot` gcd0Gcd' (abs (Integer vuz190)) (abs vuz27)",fontsize=16,color="black",shape="box"];289 -> 297[label="",style="solid", color="black", weight=3]; 170.11/122.22 290[label="Integer vuz180 `quot` gcd1 (Integer vuz270 == fromInt (Pos Zero)) (Integer vuz190) (Integer vuz270)",fontsize=16,color="black",shape="box"];290 -> 298[label="",style="solid", color="black", weight=3]; 170.11/122.22 417[label="gcd0Gcd'2 (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];417 -> 424[label="",style="solid", color="black", weight=3]; 170.11/122.22 418[label="vuz21",fontsize=16,color="green",shape="box"];419[label="gcd1 False vuz22 vuz21",fontsize=16,color="black",shape="box"];419 -> 425[label="",style="solid", color="black", weight=3]; 170.11/122.22 420[label="gcd1 True vuz22 vuz21",fontsize=16,color="black",shape="box"];420 -> 426[label="",style="solid", color="black", weight=3]; 170.11/122.22 422[label="primDivNatS0 (Succ vuz20000) vuz3800 (primGEqNatS (Succ vuz20000) vuz3800)",fontsize=16,color="burlywood",shape="box"];1428[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];422 -> 1428[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1428 -> 428[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1429[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];422 -> 1429[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1429 -> 429[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 423[label="primDivNatS0 Zero vuz3800 (primGEqNatS Zero vuz3800)",fontsize=16,color="burlywood",shape="box"];1430[label="vuz3800/Succ vuz38000",fontsize=10,color="white",style="solid",shape="box"];423 -> 1430[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1430 -> 430[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1431[label="vuz3800/Zero",fontsize=10,color="white",style="solid",shape="box"];423 -> 1431[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1431 -> 431[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 297[label="Integer vuz180 `quot` gcd0Gcd'2 (abs (Integer vuz190)) (abs vuz27)",fontsize=16,color="black",shape="box"];297 -> 305[label="",style="solid", color="black", weight=3]; 170.11/122.22 298 -> 306[label="",style="dashed", color="red", weight=0]; 170.11/122.22 298[label="Integer vuz180 `quot` gcd1 (Integer vuz270 == Integer (Pos Zero)) (Integer vuz190) (Integer vuz270)",fontsize=16,color="magenta"];298 -> 307[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 424 -> 432[label="",style="dashed", color="red", weight=0]; 170.11/122.22 424[label="gcd0Gcd'1 (abs vuz21 == fromInt (Pos Zero)) (abs vuz22) (abs vuz21)",fontsize=16,color="magenta"];424 -> 433[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 425 -> 400[label="",style="dashed", color="red", weight=0]; 170.11/122.22 425[label="gcd0 vuz22 vuz21",fontsize=16,color="magenta"];426 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 426[label="error []",fontsize=16,color="magenta"];428[label="primDivNatS0 (Succ vuz20000) (Succ vuz38000) (primGEqNatS (Succ vuz20000) (Succ vuz38000))",fontsize=16,color="black",shape="box"];428 -> 434[label="",style="solid", color="black", weight=3]; 170.11/122.22 429[label="primDivNatS0 (Succ vuz20000) Zero (primGEqNatS (Succ vuz20000) Zero)",fontsize=16,color="black",shape="box"];429 -> 435[label="",style="solid", color="black", weight=3]; 170.11/122.22 430[label="primDivNatS0 Zero (Succ vuz38000) (primGEqNatS Zero (Succ vuz38000))",fontsize=16,color="black",shape="box"];430 -> 436[label="",style="solid", color="black", weight=3]; 170.11/122.22 431[label="primDivNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];431 -> 437[label="",style="solid", color="black", weight=3]; 170.11/122.22 305[label="Integer vuz180 `quot` gcd0Gcd'1 (abs vuz27 == fromInt (Pos Zero)) (abs (Integer vuz190)) (abs vuz27)",fontsize=16,color="black",shape="box"];305 -> 314[label="",style="solid", color="black", weight=3]; 170.11/122.22 307 -> 152[label="",style="dashed", color="red", weight=0]; 170.11/122.22 307[label="Integer vuz270 == Integer (Pos Zero)",fontsize=16,color="magenta"];307 -> 315[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 306[label="Integer vuz180 `quot` gcd1 vuz35 (Integer vuz190) (Integer vuz270)",fontsize=16,color="burlywood",shape="triangle"];1432[label="vuz35/False",fontsize=10,color="white",style="solid",shape="box"];306 -> 1432[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1432 -> 316[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1433[label="vuz35/True",fontsize=10,color="white",style="solid",shape="box"];306 -> 1433[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1433 -> 317[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 433 -> 102[label="",style="dashed", color="red", weight=0]; 170.11/122.22 433[label="abs vuz21 == fromInt (Pos Zero)",fontsize=16,color="magenta"];433 -> 438[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 432[label="gcd0Gcd'1 vuz44 (abs vuz22) (abs vuz21)",fontsize=16,color="burlywood",shape="triangle"];1434[label="vuz44/False",fontsize=10,color="white",style="solid",shape="box"];432 -> 1434[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1434 -> 439[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1435[label="vuz44/True",fontsize=10,color="white",style="solid",shape="box"];432 -> 1435[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1435 -> 440[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 434 -> 892[label="",style="dashed", color="red", weight=0]; 170.11/122.22 434[label="primDivNatS0 (Succ vuz20000) (Succ vuz38000) (primGEqNatS vuz20000 vuz38000)",fontsize=16,color="magenta"];434 -> 893[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 434 -> 894[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 434 -> 895[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 434 -> 896[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 435[label="primDivNatS0 (Succ vuz20000) Zero True",fontsize=16,color="black",shape="box"];435 -> 444[label="",style="solid", color="black", weight=3]; 170.11/122.22 436[label="primDivNatS0 Zero (Succ vuz38000) False",fontsize=16,color="black",shape="box"];436 -> 445[label="",style="solid", color="black", weight=3]; 170.11/122.22 437[label="primDivNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];437 -> 446[label="",style="solid", color="black", weight=3]; 170.11/122.22 314[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal vuz27 == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal vuz27)",fontsize=16,color="black",shape="box"];314 -> 323[label="",style="solid", color="black", weight=3]; 170.11/122.22 315[label="vuz270",fontsize=16,color="green",shape="box"];316[label="Integer vuz180 `quot` gcd1 False (Integer vuz190) (Integer vuz270)",fontsize=16,color="black",shape="box"];316 -> 324[label="",style="solid", color="black", weight=3]; 170.11/122.22 317[label="Integer vuz180 `quot` gcd1 True (Integer vuz190) (Integer vuz270)",fontsize=16,color="black",shape="box"];317 -> 325[label="",style="solid", color="black", weight=3]; 170.11/122.22 438[label="abs vuz21",fontsize=16,color="black",shape="triangle"];438 -> 447[label="",style="solid", color="black", weight=3]; 170.11/122.22 439[label="gcd0Gcd'1 False (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];439 -> 448[label="",style="solid", color="black", weight=3]; 170.11/122.22 440[label="gcd0Gcd'1 True (abs vuz22) (abs vuz21)",fontsize=16,color="black",shape="box"];440 -> 449[label="",style="solid", color="black", weight=3]; 170.11/122.22 893[label="vuz38000",fontsize=16,color="green",shape="box"];894[label="vuz20000",fontsize=16,color="green",shape="box"];895[label="vuz38000",fontsize=16,color="green",shape="box"];896[label="vuz20000",fontsize=16,color="green",shape="box"];892[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS vuz75 vuz76)",fontsize=16,color="burlywood",shape="triangle"];1436[label="vuz75/Succ vuz750",fontsize=10,color="white",style="solid",shape="box"];892 -> 1436[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1436 -> 933[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1437[label="vuz75/Zero",fontsize=10,color="white",style="solid",shape="box"];892 -> 1437[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1437 -> 934[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 444[label="Succ (primDivNatS (primMinusNatS (Succ vuz20000) Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];444 -> 455[label="",style="dashed", color="green", weight=3]; 170.11/122.22 445[label="Zero",fontsize=16,color="green",shape="box"];446[label="Succ (primDivNatS (primMinusNatS Zero Zero) (Succ Zero))",fontsize=16,color="green",shape="box"];446 -> 456[label="",style="dashed", color="green", weight=3]; 170.11/122.22 323[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal2 vuz27 == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal2 vuz27)",fontsize=16,color="black",shape="box"];323 -> 390[label="",style="solid", color="black", weight=3]; 170.11/122.22 324 -> 279[label="",style="dashed", color="red", weight=0]; 170.11/122.22 324[label="Integer vuz180 `quot` gcd0 (Integer vuz190) (Integer vuz270)",fontsize=16,color="magenta"];324 -> 391[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 325[label="Integer vuz180 `quot` error []",fontsize=16,color="black",shape="box"];325 -> 392[label="",style="solid", color="black", weight=3]; 170.11/122.22 447[label="absReal vuz21",fontsize=16,color="black",shape="box"];447 -> 457[label="",style="solid", color="black", weight=3]; 170.11/122.22 448 -> 458[label="",style="dashed", color="red", weight=0]; 170.11/122.22 448[label="gcd0Gcd'0 (abs vuz22) (abs vuz21)",fontsize=16,color="magenta"];448 -> 459[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 448 -> 460[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 449 -> 438[label="",style="dashed", color="red", weight=0]; 170.11/122.22 449[label="abs vuz22",fontsize=16,color="magenta"];449 -> 461[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 933[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS (Succ vuz750) vuz76)",fontsize=16,color="burlywood",shape="box"];1438[label="vuz76/Succ vuz760",fontsize=10,color="white",style="solid",shape="box"];933 -> 1438[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1438 -> 950[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1439[label="vuz76/Zero",fontsize=10,color="white",style="solid",shape="box"];933 -> 1439[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1439 -> 951[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 934[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS Zero vuz76)",fontsize=16,color="burlywood",shape="box"];1440[label="vuz76/Succ vuz760",fontsize=10,color="white",style="solid",shape="box"];934 -> 1440[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1440 -> 952[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1441[label="vuz76/Zero",fontsize=10,color="white",style="solid",shape="box"];934 -> 1441[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1441 -> 953[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 455 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.22 455[label="primDivNatS (primMinusNatS (Succ vuz20000) Zero) (Succ Zero)",fontsize=16,color="magenta"];455 -> 466[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 455 -> 467[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 456 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.22 456[label="primDivNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];456 -> 468[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 456 -> 469[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 390[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 vuz27 (vuz27 >= fromInt (Pos Zero)))",fontsize=16,color="black",shape="box"];390 -> 402[label="",style="solid", color="black", weight=3]; 170.11/122.22 391[label="Integer vuz270",fontsize=16,color="green",shape="box"];392[label="error []",fontsize=16,color="red",shape="box"];457[label="absReal2 vuz21",fontsize=16,color="black",shape="box"];457 -> 470[label="",style="solid", color="black", weight=3]; 170.11/122.22 459 -> 438[label="",style="dashed", color="red", weight=0]; 170.11/122.22 459[label="abs vuz22",fontsize=16,color="magenta"];459 -> 471[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 460 -> 438[label="",style="dashed", color="red", weight=0]; 170.11/122.22 460[label="abs vuz21",fontsize=16,color="magenta"];458[label="gcd0Gcd'0 vuz46 vuz45",fontsize=16,color="black",shape="triangle"];458 -> 472[label="",style="solid", color="black", weight=3]; 170.11/122.22 461[label="vuz22",fontsize=16,color="green",shape="box"];950[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS (Succ vuz750) (Succ vuz760))",fontsize=16,color="black",shape="box"];950 -> 967[label="",style="solid", color="black", weight=3]; 170.11/122.22 951[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS (Succ vuz750) Zero)",fontsize=16,color="black",shape="box"];951 -> 968[label="",style="solid", color="black", weight=3]; 170.11/122.22 952[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS Zero (Succ vuz760))",fontsize=16,color="black",shape="box"];952 -> 969[label="",style="solid", color="black", weight=3]; 170.11/122.22 953[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];953 -> 970[label="",style="solid", color="black", weight=3]; 170.11/122.22 466[label="primMinusNatS (Succ vuz20000) Zero",fontsize=16,color="black",shape="triangle"];466 -> 480[label="",style="solid", color="black", weight=3]; 170.11/122.22 467[label="Zero",fontsize=16,color="green",shape="box"];468[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="triangle"];468 -> 481[label="",style="solid", color="black", weight=3]; 170.11/122.22 469[label="Zero",fontsize=16,color="green",shape="box"];402[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 vuz27 (compare vuz27 (fromInt (Pos Zero)) /= LT))",fontsize=16,color="black",shape="box"];402 -> 421[label="",style="solid", color="black", weight=3]; 170.11/122.22 470[label="absReal1 vuz21 (vuz21 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];470 -> 482[label="",style="solid", color="black", weight=3]; 170.11/122.22 471[label="vuz22",fontsize=16,color="green",shape="box"];472[label="gcd0Gcd' vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];472 -> 483[label="",style="solid", color="black", weight=3]; 170.11/122.22 967 -> 892[label="",style="dashed", color="red", weight=0]; 170.11/122.22 967[label="primDivNatS0 (Succ vuz73) (Succ vuz74) (primGEqNatS vuz750 vuz760)",fontsize=16,color="magenta"];967 -> 981[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 967 -> 982[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 968[label="primDivNatS0 (Succ vuz73) (Succ vuz74) True",fontsize=16,color="black",shape="triangle"];968 -> 983[label="",style="solid", color="black", weight=3]; 170.11/122.22 969[label="primDivNatS0 (Succ vuz73) (Succ vuz74) False",fontsize=16,color="black",shape="box"];969 -> 984[label="",style="solid", color="black", weight=3]; 170.11/122.22 970 -> 968[label="",style="dashed", color="red", weight=0]; 170.11/122.22 970[label="primDivNatS0 (Succ vuz73) (Succ vuz74) True",fontsize=16,color="magenta"];480[label="Succ vuz20000",fontsize=16,color="green",shape="box"];481[label="Zero",fontsize=16,color="green",shape="box"];421[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 vuz27 (not (compare vuz27 (fromInt (Pos Zero)) == LT)))",fontsize=16,color="burlywood",shape="box"];1442[label="vuz27/Integer vuz270",fontsize=10,color="white",style="solid",shape="box"];421 -> 1442[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1442 -> 427[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 482[label="absReal1 vuz21 (compare vuz21 (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];482 -> 494[label="",style="solid", color="black", weight=3]; 170.11/122.22 483[label="gcd0Gcd'2 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];483 -> 495[label="",style="solid", color="black", weight=3]; 170.11/122.22 981[label="vuz760",fontsize=16,color="green",shape="box"];982[label="vuz750",fontsize=16,color="green",shape="box"];983[label="Succ (primDivNatS (primMinusNatS (Succ vuz73) (Succ vuz74)) (Succ (Succ vuz74)))",fontsize=16,color="green",shape="box"];983 -> 998[label="",style="dashed", color="green", weight=3]; 170.11/122.22 984[label="Zero",fontsize=16,color="green",shape="box"];427[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (fromInt (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];427 -> 441[label="",style="solid", color="black", weight=3]; 170.11/122.22 494[label="absReal1 vuz21 (not (compare vuz21 (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];494 -> 508[label="",style="solid", color="black", weight=3]; 170.11/122.22 495 -> 509[label="",style="dashed", color="red", weight=0]; 170.11/122.22 495[label="gcd0Gcd'1 (vuz46 `rem` vuz45 == fromInt (Pos Zero)) vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];495 -> 510[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 998 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.22 998[label="primDivNatS (primMinusNatS (Succ vuz73) (Succ vuz74)) (Succ (Succ vuz74))",fontsize=16,color="magenta"];998 -> 1013[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 998 -> 1014[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 441[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer vuz270) (not (compare (Integer vuz270) (Integer (Pos Zero)) == LT)))",fontsize=16,color="black",shape="box"];441 -> 450[label="",style="solid", color="black", weight=3]; 170.11/122.22 508[label="absReal1 vuz21 (not (primCmpInt vuz21 (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1443[label="vuz21/Pos vuz210",fontsize=10,color="white",style="solid",shape="box"];508 -> 1443[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1443 -> 518[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1444[label="vuz21/Neg vuz210",fontsize=10,color="white",style="solid",shape="box"];508 -> 1444[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1444 -> 519[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 510 -> 102[label="",style="dashed", color="red", weight=0]; 170.11/122.22 510[label="vuz46 `rem` vuz45 == fromInt (Pos Zero)",fontsize=16,color="magenta"];510 -> 520[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 509[label="gcd0Gcd'1 vuz47 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="burlywood",shape="triangle"];1445[label="vuz47/False",fontsize=10,color="white",style="solid",shape="box"];509 -> 1445[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1445 -> 521[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1446[label="vuz47/True",fontsize=10,color="white",style="solid",shape="box"];509 -> 1446[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1446 -> 522[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1013 -> 828[label="",style="dashed", color="red", weight=0]; 170.11/122.22 1013[label="primMinusNatS (Succ vuz73) (Succ vuz74)",fontsize=16,color="magenta"];1013 -> 1028[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 1013 -> 1029[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 1014[label="Succ vuz74",fontsize=16,color="green",shape="box"];450[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer vuz270) (not (primCmpInt vuz270 (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1447[label="vuz270/Pos vuz2700",fontsize=10,color="white",style="solid",shape="box"];450 -> 1447[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1447 -> 473[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1448[label="vuz270/Neg vuz2700",fontsize=10,color="white",style="solid",shape="box"];450 -> 1448[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1448 -> 474[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 518[label="absReal1 (Pos vuz210) (not (primCmpInt (Pos vuz210) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1449[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];518 -> 1449[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1449 -> 534[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1450[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];518 -> 1450[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1450 -> 535[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 519[label="absReal1 (Neg vuz210) (not (primCmpInt (Neg vuz210) (fromInt (Pos Zero)) == LT))",fontsize=16,color="burlywood",shape="box"];1451[label="vuz210/Succ vuz2100",fontsize=10,color="white",style="solid",shape="box"];519 -> 1451[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1451 -> 536[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1452[label="vuz210/Zero",fontsize=10,color="white",style="solid",shape="box"];519 -> 1452[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1452 -> 537[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 520[label="vuz46 `rem` vuz45",fontsize=16,color="black",shape="triangle"];520 -> 538[label="",style="solid", color="black", weight=3]; 170.11/122.22 521[label="gcd0Gcd'1 False vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];521 -> 539[label="",style="solid", color="black", weight=3]; 170.11/122.22 522[label="gcd0Gcd'1 True vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="black",shape="box"];522 -> 540[label="",style="solid", color="black", weight=3]; 170.11/122.22 1028[label="Succ vuz74",fontsize=16,color="green",shape="box"];1029[label="Succ vuz73",fontsize=16,color="green",shape="box"];828[label="primMinusNatS vuz69 vuz70",fontsize=16,color="burlywood",shape="triangle"];1453[label="vuz69/Succ vuz690",fontsize=10,color="white",style="solid",shape="box"];828 -> 1453[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1453 -> 844[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1454[label="vuz69/Zero",fontsize=10,color="white",style="solid",shape="box"];828 -> 1454[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1454 -> 845[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 473[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos vuz2700)) (not (primCmpInt (Pos vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1455[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];473 -> 1455[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1455 -> 484[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1456[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];473 -> 1456[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1456 -> 485[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 474[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg vuz2700)) (not (primCmpInt (Neg vuz2700) (Pos Zero) == LT)))",fontsize=16,color="burlywood",shape="box"];1457[label="vuz2700/Succ vuz27000",fontsize=10,color="white",style="solid",shape="box"];474 -> 1457[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1457 -> 486[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1458[label="vuz2700/Zero",fontsize=10,color="white",style="solid",shape="box"];474 -> 1458[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1458 -> 487[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 534[label="absReal1 (Pos (Succ vuz2100)) (not (primCmpInt (Pos (Succ vuz2100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];534 -> 553[label="",style="solid", color="black", weight=3]; 170.11/122.22 535[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];535 -> 554[label="",style="solid", color="black", weight=3]; 170.11/122.22 536[label="absReal1 (Neg (Succ vuz2100)) (not (primCmpInt (Neg (Succ vuz2100)) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];536 -> 555[label="",style="solid", color="black", weight=3]; 170.11/122.22 537[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];537 -> 556[label="",style="solid", color="black", weight=3]; 170.11/122.22 538[label="primRemInt vuz46 vuz45",fontsize=16,color="burlywood",shape="triangle"];1459[label="vuz46/Pos vuz460",fontsize=10,color="white",style="solid",shape="box"];538 -> 1459[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1459 -> 557[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1460[label="vuz46/Neg vuz460",fontsize=10,color="white",style="solid",shape="box"];538 -> 1460[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1460 -> 558[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 539 -> 458[label="",style="dashed", color="red", weight=0]; 170.11/122.22 539[label="gcd0Gcd'0 vuz45 (vuz46 `rem` vuz45)",fontsize=16,color="magenta"];539 -> 559[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 539 -> 560[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 540[label="vuz45",fontsize=16,color="green",shape="box"];844[label="primMinusNatS (Succ vuz690) vuz70",fontsize=16,color="burlywood",shape="box"];1461[label="vuz70/Succ vuz700",fontsize=10,color="white",style="solid",shape="box"];844 -> 1461[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1461 -> 861[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1462[label="vuz70/Zero",fontsize=10,color="white",style="solid",shape="box"];844 -> 1462[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1462 -> 862[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 845[label="primMinusNatS Zero vuz70",fontsize=16,color="burlywood",shape="box"];1463[label="vuz70/Succ vuz700",fontsize=10,color="white",style="solid",shape="box"];845 -> 1463[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1463 -> 863[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1464[label="vuz70/Zero",fontsize=10,color="white",style="solid",shape="box"];845 -> 1464[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1464 -> 864[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 484[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpInt (Pos (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];484 -> 496[label="",style="solid", color="black", weight=3]; 170.11/122.22 485[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];485 -> 497[label="",style="solid", color="black", weight=3]; 170.11/122.22 486[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (primCmpInt (Neg (Succ vuz27000)) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];486 -> 498[label="",style="solid", color="black", weight=3]; 170.11/122.22 487[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)))",fontsize=16,color="black",shape="box"];487 -> 499[label="",style="solid", color="black", weight=3]; 170.11/122.22 553[label="absReal1 (Pos (Succ vuz2100)) (not (primCmpInt (Pos (Succ vuz2100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];553 -> 572[label="",style="solid", color="black", weight=3]; 170.11/122.22 554[label="absReal1 (Pos Zero) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];554 -> 573[label="",style="solid", color="black", weight=3]; 170.11/122.22 555[label="absReal1 (Neg (Succ vuz2100)) (not (primCmpInt (Neg (Succ vuz2100)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];555 -> 574[label="",style="solid", color="black", weight=3]; 170.11/122.22 556[label="absReal1 (Neg Zero) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];556 -> 575[label="",style="solid", color="black", weight=3]; 170.11/122.22 557[label="primRemInt (Pos vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1465[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];557 -> 1465[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1465 -> 576[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1466[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];557 -> 1466[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1466 -> 577[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 558[label="primRemInt (Neg vuz460) vuz45",fontsize=16,color="burlywood",shape="box"];1467[label="vuz45/Pos vuz450",fontsize=10,color="white",style="solid",shape="box"];558 -> 1467[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1467 -> 578[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1468[label="vuz45/Neg vuz450",fontsize=10,color="white",style="solid",shape="box"];558 -> 1468[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1468 -> 579[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 559[label="vuz45",fontsize=16,color="green",shape="box"];560 -> 520[label="",style="dashed", color="red", weight=0]; 170.11/122.22 560[label="vuz46 `rem` vuz45",fontsize=16,color="magenta"];861[label="primMinusNatS (Succ vuz690) (Succ vuz700)",fontsize=16,color="black",shape="box"];861 -> 882[label="",style="solid", color="black", weight=3]; 170.11/122.22 862[label="primMinusNatS (Succ vuz690) Zero",fontsize=16,color="black",shape="box"];862 -> 883[label="",style="solid", color="black", weight=3]; 170.11/122.22 863[label="primMinusNatS Zero (Succ vuz700)",fontsize=16,color="black",shape="box"];863 -> 884[label="",style="solid", color="black", weight=3]; 170.11/122.22 864[label="primMinusNatS Zero Zero",fontsize=16,color="black",shape="box"];864 -> 885[label="",style="solid", color="black", weight=3]; 170.11/122.22 496[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (primCmpNat (Succ vuz27000) Zero == LT)))",fontsize=16,color="black",shape="box"];496 -> 523[label="",style="solid", color="black", weight=3]; 170.11/122.22 497[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];497 -> 524[label="",style="solid", color="black", weight=3]; 170.11/122.22 498[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) (not (LT == LT)))",fontsize=16,color="black",shape="box"];498 -> 525[label="",style="solid", color="black", weight=3]; 170.11/122.22 499[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)))",fontsize=16,color="black",shape="box"];499 -> 526[label="",style="solid", color="black", weight=3]; 170.11/122.22 572[label="absReal1 (Pos (Succ vuz2100)) (not (primCmpNat (Succ vuz2100) Zero == LT))",fontsize=16,color="black",shape="box"];572 -> 590[label="",style="solid", color="black", weight=3]; 170.11/122.22 573[label="absReal1 (Pos Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];573 -> 591[label="",style="solid", color="black", weight=3]; 170.11/122.22 574[label="absReal1 (Neg (Succ vuz2100)) (not (LT == LT))",fontsize=16,color="black",shape="box"];574 -> 592[label="",style="solid", color="black", weight=3]; 170.11/122.22 575[label="absReal1 (Neg Zero) (not (EQ == LT))",fontsize=16,color="black",shape="box"];575 -> 593[label="",style="solid", color="black", weight=3]; 170.11/122.22 576[label="primRemInt (Pos vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1469[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];576 -> 1469[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1469 -> 594[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1470[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];576 -> 1470[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1470 -> 595[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 577[label="primRemInt (Pos vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1471[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];577 -> 1471[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1471 -> 596[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1472[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];577 -> 1472[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1472 -> 597[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 578[label="primRemInt (Neg vuz460) (Pos vuz450)",fontsize=16,color="burlywood",shape="box"];1473[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];578 -> 1473[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1473 -> 598[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1474[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];578 -> 1474[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1474 -> 599[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 579[label="primRemInt (Neg vuz460) (Neg vuz450)",fontsize=16,color="burlywood",shape="box"];1475[label="vuz450/Succ vuz4500",fontsize=10,color="white",style="solid",shape="box"];579 -> 1475[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1475 -> 600[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1476[label="vuz450/Zero",fontsize=10,color="white",style="solid",shape="box"];579 -> 1476[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1476 -> 601[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 882 -> 828[label="",style="dashed", color="red", weight=0]; 170.11/122.22 882[label="primMinusNatS vuz690 vuz700",fontsize=16,color="magenta"];882 -> 948[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 882 -> 949[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 883[label="Succ vuz690",fontsize=16,color="green",shape="box"];884[label="Zero",fontsize=16,color="green",shape="box"];885[label="Zero",fontsize=16,color="green",shape="box"];523[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not (GT == LT)))",fontsize=16,color="black",shape="box"];523 -> 541[label="",style="solid", color="black", weight=3]; 170.11/122.22 524[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) (not False))",fontsize=16,color="black",shape="box"];524 -> 542[label="",style="solid", color="black", weight=3]; 170.11/122.22 525[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) (not True) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) (not True))",fontsize=16,color="black",shape="box"];525 -> 543[label="",style="solid", color="black", weight=3]; 170.11/122.22 526[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) (not False))",fontsize=16,color="black",shape="box"];526 -> 544[label="",style="solid", color="black", weight=3]; 170.11/122.22 590[label="absReal1 (Pos (Succ vuz2100)) (not (GT == LT))",fontsize=16,color="black",shape="box"];590 -> 613[label="",style="solid", color="black", weight=3]; 170.11/122.22 591[label="absReal1 (Pos Zero) (not False)",fontsize=16,color="black",shape="box"];591 -> 614[label="",style="solid", color="black", weight=3]; 170.11/122.22 592[label="absReal1 (Neg (Succ vuz2100)) (not True)",fontsize=16,color="black",shape="box"];592 -> 615[label="",style="solid", color="black", weight=3]; 170.11/122.22 593[label="absReal1 (Neg Zero) (not False)",fontsize=16,color="black",shape="box"];593 -> 616[label="",style="solid", color="black", weight=3]; 170.11/122.22 594[label="primRemInt (Pos vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];594 -> 617[label="",style="solid", color="black", weight=3]; 170.11/122.22 595[label="primRemInt (Pos vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];595 -> 618[label="",style="solid", color="black", weight=3]; 170.11/122.22 596[label="primRemInt (Pos vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];596 -> 619[label="",style="solid", color="black", weight=3]; 170.11/122.22 597[label="primRemInt (Pos vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];597 -> 620[label="",style="solid", color="black", weight=3]; 170.11/122.22 598[label="primRemInt (Neg vuz460) (Pos (Succ vuz4500))",fontsize=16,color="black",shape="box"];598 -> 621[label="",style="solid", color="black", weight=3]; 170.11/122.22 599[label="primRemInt (Neg vuz460) (Pos Zero)",fontsize=16,color="black",shape="box"];599 -> 622[label="",style="solid", color="black", weight=3]; 170.11/122.22 600[label="primRemInt (Neg vuz460) (Neg (Succ vuz4500))",fontsize=16,color="black",shape="box"];600 -> 623[label="",style="solid", color="black", weight=3]; 170.11/122.22 601[label="primRemInt (Neg vuz460) (Neg Zero)",fontsize=16,color="black",shape="box"];601 -> 624[label="",style="solid", color="black", weight=3]; 170.11/122.22 948[label="vuz700",fontsize=16,color="green",shape="box"];949[label="vuz690",fontsize=16,color="green",shape="box"];541[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) (not False) == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) (not False))",fontsize=16,color="black",shape="box"];541 -> 561[label="",style="solid", color="black", weight=3]; 170.11/122.22 542[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos Zero)) True)",fontsize=16,color="black",shape="box"];542 -> 562[label="",style="solid", color="black", weight=3]; 170.11/122.22 543[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz27000))) False == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg (Succ vuz27000))) False)",fontsize=16,color="black",shape="box"];543 -> 563[label="",style="solid", color="black", weight=3]; 170.11/122.22 544[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Neg Zero)) True)",fontsize=16,color="black",shape="box"];544 -> 564[label="",style="solid", color="black", weight=3]; 170.11/122.22 613[label="absReal1 (Pos (Succ vuz2100)) (not False)",fontsize=16,color="black",shape="box"];613 -> 634[label="",style="solid", color="black", weight=3]; 170.11/122.22 614[label="absReal1 (Pos Zero) True",fontsize=16,color="black",shape="box"];614 -> 635[label="",style="solid", color="black", weight=3]; 170.11/122.22 615[label="absReal1 (Neg (Succ vuz2100)) False",fontsize=16,color="black",shape="box"];615 -> 636[label="",style="solid", color="black", weight=3]; 170.11/122.22 616[label="absReal1 (Neg Zero) True",fontsize=16,color="black",shape="box"];616 -> 637[label="",style="solid", color="black", weight=3]; 170.11/122.22 617[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];617 -> 638[label="",style="dashed", color="green", weight=3]; 170.11/122.22 618 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 618[label="error []",fontsize=16,color="magenta"];619[label="Pos (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];619 -> 639[label="",style="dashed", color="green", weight=3]; 170.11/122.22 620 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 620[label="error []",fontsize=16,color="magenta"];621[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];621 -> 640[label="",style="dashed", color="green", weight=3]; 170.11/122.22 622 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 622[label="error []",fontsize=16,color="magenta"];623[label="Neg (primModNatS vuz460 (Succ vuz4500))",fontsize=16,color="green",shape="box"];623 -> 641[label="",style="dashed", color="green", weight=3]; 170.11/122.22 624 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.22 624[label="error []",fontsize=16,color="magenta"];561[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal1 (Integer (Pos (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];561 -> 580[label="",style="solid", color="black", weight=3]; 170.11/122.22 562 -> 581[label="",style="dashed", color="red", weight=0]; 170.11/122.22 562[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos Zero) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="magenta"];562 -> 582[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 563[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) otherwise == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal0 (Integer (Neg (Succ vuz27000))) otherwise)",fontsize=16,color="black",shape="box"];563 -> 602[label="",style="solid", color="black", weight=3]; 170.11/122.22 564 -> 603[label="",style="dashed", color="red", weight=0]; 170.11/122.22 564[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Neg Zero) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="magenta"];564 -> 604[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 634[label="absReal1 (Pos (Succ vuz2100)) True",fontsize=16,color="black",shape="box"];634 -> 659[label="",style="solid", color="black", weight=3]; 170.11/122.22 635[label="Pos Zero",fontsize=16,color="green",shape="box"];636[label="absReal0 (Neg (Succ vuz2100)) otherwise",fontsize=16,color="black",shape="box"];636 -> 660[label="",style="solid", color="black", weight=3]; 170.11/122.22 637[label="Neg Zero",fontsize=16,color="green",shape="box"];638[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="burlywood",shape="triangle"];1477[label="vuz460/Succ vuz4600",fontsize=10,color="white",style="solid",shape="box"];638 -> 1477[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1477 -> 661[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1478[label="vuz460/Zero",fontsize=10,color="white",style="solid",shape="box"];638 -> 1478[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1478 -> 662[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 639 -> 638[label="",style="dashed", color="red", weight=0]; 170.11/122.22 639[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];639 -> 663[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 640 -> 638[label="",style="dashed", color="red", weight=0]; 170.11/122.22 640[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];640 -> 664[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 641 -> 638[label="",style="dashed", color="red", weight=0]; 170.11/122.22 641[label="primModNatS vuz460 (Succ vuz4500)",fontsize=16,color="magenta"];641 -> 665[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 641 -> 666[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 580 -> 625[label="",style="dashed", color="red", weight=0]; 170.11/122.22 580[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="magenta"];580 -> 626[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 582 -> 138[label="",style="dashed", color="red", weight=0]; 170.11/122.22 582[label="Integer (Pos Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];582 -> 642[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 581[label="Integer vuz180 `quot` gcd0Gcd'1 vuz48 (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="burlywood",shape="triangle"];1479[label="vuz48/False",fontsize=10,color="white",style="solid",shape="box"];581 -> 1479[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1479 -> 643[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1480[label="vuz48/True",fontsize=10,color="white",style="solid",shape="box"];581 -> 1480[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1480 -> 644[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 602[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz27000))) True == fromInt (Pos Zero)) (abs (Integer vuz190)) (absReal0 (Integer (Neg (Succ vuz27000))) True)",fontsize=16,color="black",shape="box"];602 -> 645[label="",style="solid", color="black", weight=3]; 170.11/122.22 604 -> 138[label="",style="dashed", color="red", weight=0]; 170.11/122.22 604[label="Integer (Neg Zero) == fromInt (Pos Zero)",fontsize=16,color="magenta"];604 -> 646[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 603[label="Integer vuz180 `quot` gcd0Gcd'1 vuz49 (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="burlywood",shape="triangle"];1481[label="vuz49/False",fontsize=10,color="white",style="solid",shape="box"];603 -> 1481[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1481 -> 647[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1482[label="vuz49/True",fontsize=10,color="white",style="solid",shape="box"];603 -> 1482[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1482 -> 648[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 659[label="Pos (Succ vuz2100)",fontsize=16,color="green",shape="box"];660[label="absReal0 (Neg (Succ vuz2100)) True",fontsize=16,color="black",shape="box"];660 -> 682[label="",style="solid", color="black", weight=3]; 170.11/122.22 661[label="primModNatS (Succ vuz4600) (Succ vuz4500)",fontsize=16,color="black",shape="box"];661 -> 683[label="",style="solid", color="black", weight=3]; 170.11/122.22 662[label="primModNatS Zero (Succ vuz4500)",fontsize=16,color="black",shape="box"];662 -> 684[label="",style="solid", color="black", weight=3]; 170.11/122.22 663[label="vuz4500",fontsize=16,color="green",shape="box"];664[label="vuz460",fontsize=16,color="green",shape="box"];665[label="vuz460",fontsize=16,color="green",shape="box"];666[label="vuz4500",fontsize=16,color="green",shape="box"];626 -> 138[label="",style="dashed", color="red", weight=0]; 170.11/122.22 626[label="Integer (Pos (Succ vuz27000)) == fromInt (Pos Zero)",fontsize=16,color="magenta"];626 -> 649[label="",style="dashed", color="magenta", weight=3]; 170.11/122.22 625[label="Integer vuz180 `quot` gcd0Gcd'1 vuz50 (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="burlywood",shape="triangle"];1483[label="vuz50/False",fontsize=10,color="white",style="solid",shape="box"];625 -> 1483[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1483 -> 650[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 1484[label="vuz50/True",fontsize=10,color="white",style="solid",shape="box"];625 -> 1484[label="",style="solid", color="burlywood", weight=9]; 170.11/122.22 1484 -> 651[label="",style="solid", color="burlywood", weight=3]; 170.11/122.22 642[label="Pos Zero",fontsize=16,color="green",shape="box"];643[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];643 -> 667[label="",style="solid", color="black", weight=3]; 170.11/122.23 644[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="black",shape="box"];644 -> 668[label="",style="solid", color="black", weight=3]; 170.11/122.23 645[label="Integer vuz180 `quot` gcd0Gcd'1 (`negate` Integer (Neg (Succ vuz27000)) == fromInt (Pos Zero)) (abs (Integer vuz190)) (`negate` Integer (Neg (Succ vuz27000)))",fontsize=16,color="black",shape="box"];645 -> 669[label="",style="solid", color="black", weight=3]; 170.11/122.23 646[label="Neg Zero",fontsize=16,color="green",shape="box"];647[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];647 -> 670[label="",style="solid", color="black", weight=3]; 170.11/122.23 648[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="black",shape="box"];648 -> 671[label="",style="solid", color="black", weight=3]; 170.11/122.23 682[label="`negate` Neg (Succ vuz2100)",fontsize=16,color="black",shape="box"];682 -> 698[label="",style="solid", color="black", weight=3]; 170.11/122.23 683[label="primModNatS0 vuz4600 vuz4500 (primGEqNatS vuz4600 vuz4500)",fontsize=16,color="burlywood",shape="box"];1485[label="vuz4600/Succ vuz46000",fontsize=10,color="white",style="solid",shape="box"];683 -> 1485[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1485 -> 699[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1486[label="vuz4600/Zero",fontsize=10,color="white",style="solid",shape="box"];683 -> 1486[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1486 -> 700[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 684[label="Zero",fontsize=16,color="green",shape="box"];649[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];650[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="black",shape="box"];650 -> 672[label="",style="solid", color="black", weight=3]; 170.11/122.23 651[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="black",shape="box"];651 -> 673[label="",style="solid", color="black", weight=3]; 170.11/122.23 667 -> 794[label="",style="dashed", color="red", weight=0]; 170.11/122.23 667[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (Pos Zero))",fontsize=16,color="magenta"];667 -> 795[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 668[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="black",shape="triangle"];668 -> 686[label="",style="solid", color="black", weight=3]; 170.11/122.23 669 -> 687[label="",style="dashed", color="red", weight=0]; 170.11/122.23 669[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)) (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="magenta"];669 -> 688[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 670 -> 794[label="",style="dashed", color="red", weight=0]; 170.11/122.23 670[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (Neg Zero))",fontsize=16,color="magenta"];670 -> 796[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 671 -> 668[label="",style="dashed", color="red", weight=0]; 170.11/122.23 671[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="magenta"];698[label="primNegInt (Neg (Succ vuz2100))",fontsize=16,color="black",shape="triangle"];698 -> 715[label="",style="solid", color="black", weight=3]; 170.11/122.23 699[label="primModNatS0 (Succ vuz46000) vuz4500 (primGEqNatS (Succ vuz46000) vuz4500)",fontsize=16,color="burlywood",shape="box"];1487[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];699 -> 1487[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1487 -> 716[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1488[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];699 -> 1488[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1488 -> 717[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 700[label="primModNatS0 Zero vuz4500 (primGEqNatS Zero vuz4500)",fontsize=16,color="burlywood",shape="box"];1489[label="vuz4500/Succ vuz45000",fontsize=10,color="white",style="solid",shape="box"];700 -> 1489[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1489 -> 718[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1490[label="vuz4500/Zero",fontsize=10,color="white",style="solid",shape="box"];700 -> 1490[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1490 -> 719[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 672 -> 794[label="",style="dashed", color="red", weight=0]; 170.11/122.23 672[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (Pos (Succ vuz27000)))",fontsize=16,color="magenta"];672 -> 797[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 673 -> 668[label="",style="dashed", color="red", weight=0]; 170.11/122.23 673[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="magenta"];795[label="Pos Zero",fontsize=16,color="green",shape="box"];794[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer vuz71)",fontsize=16,color="black",shape="triangle"];794 -> 800[label="",style="solid", color="black", weight=3]; 170.11/122.23 686[label="Integer vuz180 `quot` absReal (Integer vuz190)",fontsize=16,color="black",shape="box"];686 -> 710[label="",style="solid", color="black", weight=3]; 170.11/122.23 688 -> 138[label="",style="dashed", color="red", weight=0]; 170.11/122.23 688[label="Integer (primNegInt (Neg (Succ vuz27000))) == fromInt (Pos Zero)",fontsize=16,color="magenta"];688 -> 711[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 687[label="Integer vuz180 `quot` gcd0Gcd'1 vuz51 (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="burlywood",shape="triangle"];1491[label="vuz51/False",fontsize=10,color="white",style="solid",shape="box"];687 -> 1491[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1491 -> 712[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1492[label="vuz51/True",fontsize=10,color="white",style="solid",shape="box"];687 -> 1492[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1492 -> 713[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 796[label="Neg Zero",fontsize=16,color="green",shape="box"];715[label="Pos (Succ vuz2100)",fontsize=16,color="green",shape="box"];716[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS (Succ vuz46000) (Succ vuz45000))",fontsize=16,color="black",shape="box"];716 -> 732[label="",style="solid", color="black", weight=3]; 170.11/122.23 717[label="primModNatS0 (Succ vuz46000) Zero (primGEqNatS (Succ vuz46000) Zero)",fontsize=16,color="black",shape="box"];717 -> 733[label="",style="solid", color="black", weight=3]; 170.11/122.23 718[label="primModNatS0 Zero (Succ vuz45000) (primGEqNatS Zero (Succ vuz45000))",fontsize=16,color="black",shape="box"];718 -> 734[label="",style="solid", color="black", weight=3]; 170.11/122.23 719[label="primModNatS0 Zero Zero (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];719 -> 735[label="",style="solid", color="black", weight=3]; 170.11/122.23 797[label="Pos (Succ vuz27000)",fontsize=16,color="green",shape="box"];800[label="Integer vuz180 `quot` gcd0Gcd' (Integer vuz71) (abs (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];800 -> 817[label="",style="solid", color="black", weight=3]; 170.11/122.23 710[label="Integer vuz180 `quot` absReal2 (Integer vuz190)",fontsize=16,color="black",shape="box"];710 -> 728[label="",style="solid", color="black", weight=3]; 170.11/122.23 711 -> 698[label="",style="dashed", color="red", weight=0]; 170.11/122.23 711[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];711 -> 729[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 712[label="Integer vuz180 `quot` gcd0Gcd'1 False (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="black",shape="box"];712 -> 730[label="",style="solid", color="black", weight=3]; 170.11/122.23 713[label="Integer vuz180 `quot` gcd0Gcd'1 True (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="black",shape="box"];713 -> 731[label="",style="solid", color="black", weight=3]; 170.11/122.23 732 -> 1275[label="",style="dashed", color="red", weight=0]; 170.11/122.23 732[label="primModNatS0 (Succ vuz46000) (Succ vuz45000) (primGEqNatS vuz46000 vuz45000)",fontsize=16,color="magenta"];732 -> 1276[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 732 -> 1277[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 732 -> 1278[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 732 -> 1279[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 733[label="primModNatS0 (Succ vuz46000) Zero True",fontsize=16,color="black",shape="box"];733 -> 753[label="",style="solid", color="black", weight=3]; 170.11/122.23 734[label="primModNatS0 Zero (Succ vuz45000) False",fontsize=16,color="black",shape="box"];734 -> 754[label="",style="solid", color="black", weight=3]; 170.11/122.23 735[label="primModNatS0 Zero Zero True",fontsize=16,color="black",shape="box"];735 -> 755[label="",style="solid", color="black", weight=3]; 170.11/122.23 817[label="Integer vuz180 `quot` gcd0Gcd'2 (Integer vuz71) (abs (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];817 -> 829[label="",style="solid", color="black", weight=3]; 170.11/122.23 728[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (Integer vuz190 >= fromInt (Pos Zero))",fontsize=16,color="black",shape="box"];728 -> 793[label="",style="solid", color="black", weight=3]; 170.11/122.23 729[label="vuz27000",fontsize=16,color="green",shape="box"];730 -> 794[label="",style="dashed", color="red", weight=0]; 170.11/122.23 730[label="Integer vuz180 `quot` gcd0Gcd'0 (abs (Integer vuz190)) (Integer (primNegInt (Neg (Succ vuz27000))))",fontsize=16,color="magenta"];730 -> 798[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 731 -> 668[label="",style="dashed", color="red", weight=0]; 170.11/122.23 731[label="Integer vuz180 `quot` abs (Integer vuz190)",fontsize=16,color="magenta"];1276[label="vuz45000",fontsize=16,color="green",shape="box"];1277[label="vuz46000",fontsize=16,color="green",shape="box"];1278[label="vuz45000",fontsize=16,color="green",shape="box"];1279[label="vuz46000",fontsize=16,color="green",shape="box"];1275[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS vuz105 vuz106)",fontsize=16,color="burlywood",shape="triangle"];1493[label="vuz105/Succ vuz1050",fontsize=10,color="white",style="solid",shape="box"];1275 -> 1493[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1493 -> 1316[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1494[label="vuz105/Zero",fontsize=10,color="white",style="solid",shape="box"];1275 -> 1494[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1494 -> 1317[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 753 -> 638[label="",style="dashed", color="red", weight=0]; 170.11/122.23 753[label="primModNatS (primMinusNatS (Succ vuz46000) Zero) (Succ Zero)",fontsize=16,color="magenta"];753 -> 805[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 753 -> 806[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 754[label="Succ Zero",fontsize=16,color="green",shape="box"];755 -> 638[label="",style="dashed", color="red", weight=0]; 170.11/122.23 755[label="primModNatS (primMinusNatS Zero Zero) (Succ Zero)",fontsize=16,color="magenta"];755 -> 807[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 755 -> 808[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 829[label="Integer vuz180 `quot` gcd0Gcd'1 (abs (Integer vuz190) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (abs (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];829 -> 846[label="",style="solid", color="black", weight=3]; 170.11/122.23 793[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (compare (Integer vuz190) (fromInt (Pos Zero)) /= LT)",fontsize=16,color="black",shape="box"];793 -> 813[label="",style="solid", color="black", weight=3]; 170.11/122.23 798 -> 698[label="",style="dashed", color="red", weight=0]; 170.11/122.23 798[label="primNegInt (Neg (Succ vuz27000))",fontsize=16,color="magenta"];798 -> 814[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1316[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS (Succ vuz1050) vuz106)",fontsize=16,color="burlywood",shape="box"];1495[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1316 -> 1495[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1495 -> 1318[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1496[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1316 -> 1496[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1496 -> 1319[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1317[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS Zero vuz106)",fontsize=16,color="burlywood",shape="box"];1497[label="vuz106/Succ vuz1060",fontsize=10,color="white",style="solid",shape="box"];1317 -> 1497[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1497 -> 1320[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1498[label="vuz106/Zero",fontsize=10,color="white",style="solid",shape="box"];1317 -> 1498[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1498 -> 1321[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 805 -> 466[label="",style="dashed", color="red", weight=0]; 170.11/122.23 805[label="primMinusNatS (Succ vuz46000) Zero",fontsize=16,color="magenta"];805 -> 822[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 806[label="Zero",fontsize=16,color="green",shape="box"];807 -> 468[label="",style="dashed", color="red", weight=0]; 170.11/122.23 807[label="primMinusNatS Zero Zero",fontsize=16,color="magenta"];808[label="Zero",fontsize=16,color="green",shape="box"];846[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal (Integer vuz190) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];846 -> 865[label="",style="solid", color="black", weight=3]; 170.11/122.23 813[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (not (compare (Integer vuz190) (fromInt (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];813 -> 827[label="",style="solid", color="black", weight=3]; 170.11/122.23 814[label="vuz27000",fontsize=16,color="green",shape="box"];1318[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS (Succ vuz1050) (Succ vuz1060))",fontsize=16,color="black",shape="box"];1318 -> 1322[label="",style="solid", color="black", weight=3]; 170.11/122.23 1319[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS (Succ vuz1050) Zero)",fontsize=16,color="black",shape="box"];1319 -> 1323[label="",style="solid", color="black", weight=3]; 170.11/122.23 1320[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS Zero (Succ vuz1060))",fontsize=16,color="black",shape="box"];1320 -> 1324[label="",style="solid", color="black", weight=3]; 170.11/122.23 1321[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS Zero Zero)",fontsize=16,color="black",shape="box"];1321 -> 1325[label="",style="solid", color="black", weight=3]; 170.11/122.23 822[label="vuz46000",fontsize=16,color="green",shape="box"];865[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal2 (Integer vuz190) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal2 (Integer vuz190) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];865 -> 886[label="",style="solid", color="black", weight=3]; 170.11/122.23 827[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (not (compare (Integer vuz190) (Integer (Pos Zero)) == LT))",fontsize=16,color="black",shape="box"];827 -> 843[label="",style="solid", color="black", weight=3]; 170.11/122.23 1322 -> 1275[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1322[label="primModNatS0 (Succ vuz103) (Succ vuz104) (primGEqNatS vuz1050 vuz1060)",fontsize=16,color="magenta"];1322 -> 1326[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1322 -> 1327[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1323[label="primModNatS0 (Succ vuz103) (Succ vuz104) True",fontsize=16,color="black",shape="triangle"];1323 -> 1328[label="",style="solid", color="black", weight=3]; 170.11/122.23 1324[label="primModNatS0 (Succ vuz103) (Succ vuz104) False",fontsize=16,color="black",shape="box"];1324 -> 1329[label="",style="solid", color="black", weight=3]; 170.11/122.23 1325 -> 1323[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1325[label="primModNatS0 (Succ vuz103) (Succ vuz104) True",fontsize=16,color="magenta"];886[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (Integer vuz190 >= fromInt (Pos Zero)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (Integer vuz190 >= fromInt (Pos Zero)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];886 -> 935[label="",style="solid", color="black", weight=3]; 170.11/122.23 843[label="Integer vuz180 `quot` absReal1 (Integer vuz190) (not (primCmpInt vuz190 (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1499[label="vuz190/Pos vuz1900",fontsize=10,color="white",style="solid",shape="box"];843 -> 1499[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1499 -> 859[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1500[label="vuz190/Neg vuz1900",fontsize=10,color="white",style="solid",shape="box"];843 -> 1500[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1500 -> 860[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1326[label="vuz1050",fontsize=16,color="green",shape="box"];1327[label="vuz1060",fontsize=16,color="green",shape="box"];1328 -> 638[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1328[label="primModNatS (primMinusNatS (Succ vuz103) (Succ vuz104)) (Succ (Succ vuz104))",fontsize=16,color="magenta"];1328 -> 1330[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1328 -> 1331[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1329[label="Succ (Succ vuz103)",fontsize=16,color="green",shape="box"];935[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (compare (Integer vuz190) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (compare (Integer vuz190) (fromInt (Pos Zero)) /= LT) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];935 -> 954[label="",style="solid", color="black", weight=3]; 170.11/122.23 859[label="Integer vuz180 `quot` absReal1 (Integer (Pos vuz1900)) (not (primCmpInt (Pos vuz1900) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1501[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];859 -> 1501[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1501 -> 878[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1502[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];859 -> 1502[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1502 -> 879[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 860[label="Integer vuz180 `quot` absReal1 (Integer (Neg vuz1900)) (not (primCmpInt (Neg vuz1900) (Pos Zero) == LT))",fontsize=16,color="burlywood",shape="box"];1503[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];860 -> 1503[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1503 -> 880[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1504[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];860 -> 1504[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1504 -> 881[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1330 -> 828[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1330[label="primMinusNatS (Succ vuz103) (Succ vuz104)",fontsize=16,color="magenta"];1330 -> 1332[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1330 -> 1333[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1331[label="Succ vuz104",fontsize=16,color="green",shape="box"];954[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (fromInt (Pos Zero)) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];954 -> 971[label="",style="solid", color="black", weight=3]; 170.11/122.23 878[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpInt (Pos (Succ vuz19000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];878 -> 936[label="",style="solid", color="black", weight=3]; 170.11/122.23 879[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];879 -> 937[label="",style="solid", color="black", weight=3]; 170.11/122.23 880[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) (not (primCmpInt (Neg (Succ vuz19000)) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];880 -> 938[label="",style="solid", color="black", weight=3]; 170.11/122.23 881[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT))",fontsize=16,color="black",shape="box"];881 -> 939[label="",style="solid", color="black", weight=3]; 170.11/122.23 1332[label="Succ vuz104",fontsize=16,color="green",shape="box"];1333[label="Succ vuz103",fontsize=16,color="green",shape="box"];971[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (Integer (Pos Zero)) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (not (compare (Integer vuz190) (Integer (Pos Zero)) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];971 -> 985[label="",style="solid", color="black", weight=3]; 170.11/122.23 936[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpNat (Succ vuz19000) Zero == LT))",fontsize=16,color="black",shape="box"];936 -> 955[label="",style="solid", color="black", weight=3]; 170.11/122.23 937[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];937 -> 956[label="",style="solid", color="black", weight=3]; 170.11/122.23 938[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) (not (LT == LT))",fontsize=16,color="black",shape="box"];938 -> 957[label="",style="solid", color="black", weight=3]; 170.11/122.23 939[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) (not (EQ == LT))",fontsize=16,color="black",shape="box"];939 -> 958[label="",style="solid", color="black", weight=3]; 170.11/122.23 985[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer vuz190) (not (primCmpInt vuz190 (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer vuz190) (not (primCmpInt vuz190 (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="burlywood",shape="box"];1505[label="vuz190/Pos vuz1900",fontsize=10,color="white",style="solid",shape="box"];985 -> 1505[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1505 -> 999[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1506[label="vuz190/Neg vuz1900",fontsize=10,color="white",style="solid",shape="box"];985 -> 1506[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1506 -> 1000[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 955[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not (GT == LT))",fontsize=16,color="black",shape="box"];955 -> 972[label="",style="solid", color="black", weight=3]; 170.11/122.23 956[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) (not False)",fontsize=16,color="black",shape="box"];956 -> 973[label="",style="solid", color="black", weight=3]; 170.11/122.23 957[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) (not True)",fontsize=16,color="black",shape="box"];957 -> 974[label="",style="solid", color="black", weight=3]; 170.11/122.23 958[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) (not False)",fontsize=16,color="black",shape="box"];958 -> 975[label="",style="solid", color="black", weight=3]; 170.11/122.23 999[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos vuz1900)) (not (primCmpInt (Pos vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos vuz1900)) (not (primCmpInt (Pos vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="burlywood",shape="box"];1507[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];999 -> 1507[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1507 -> 1015[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1508[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];999 -> 1508[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1508 -> 1016[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1000[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg vuz1900)) (not (primCmpInt (Neg vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg vuz1900)) (not (primCmpInt (Neg vuz1900) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="burlywood",shape="box"];1509[label="vuz1900/Succ vuz19000",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1509[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1509 -> 1017[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1510[label="vuz1900/Zero",fontsize=10,color="white",style="solid",shape="box"];1000 -> 1510[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1510 -> 1018[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 972[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) (not False)",fontsize=16,color="black",shape="box"];972 -> 986[label="",style="solid", color="black", weight=3]; 170.11/122.23 973[label="Integer vuz180 `quot` absReal1 (Integer (Pos Zero)) True",fontsize=16,color="black",shape="box"];973 -> 987[label="",style="solid", color="black", weight=3]; 170.11/122.23 974[label="Integer vuz180 `quot` absReal1 (Integer (Neg (Succ vuz19000))) False",fontsize=16,color="black",shape="box"];974 -> 988[label="",style="solid", color="black", weight=3]; 170.11/122.23 975[label="Integer vuz180 `quot` absReal1 (Integer (Neg Zero)) True",fontsize=16,color="black",shape="box"];975 -> 989[label="",style="solid", color="black", weight=3]; 170.11/122.23 1015[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpInt (Pos (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpInt (Pos (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1015 -> 1030[label="",style="solid", color="black", weight=3]; 170.11/122.23 1016[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) (not (primCmpInt (Pos Zero) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1016 -> 1031[label="",style="solid", color="black", weight=3]; 170.11/122.23 1017[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) (not (primCmpInt (Neg (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) (not (primCmpInt (Neg (Succ vuz19000)) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1017 -> 1032[label="",style="solid", color="black", weight=3]; 170.11/122.23 1018[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) (not (primCmpInt (Neg Zero) (Pos Zero) == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1018 -> 1033[label="",style="solid", color="black", weight=3]; 170.11/122.23 986[label="Integer vuz180 `quot` absReal1 (Integer (Pos (Succ vuz19000))) True",fontsize=16,color="black",shape="box"];986 -> 1001[label="",style="solid", color="black", weight=3]; 170.11/122.23 987 -> 1056[label="",style="dashed", color="red", weight=0]; 170.11/122.23 987[label="Integer vuz180 `quot` Integer (Pos Zero)",fontsize=16,color="magenta"];987 -> 1057[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 988[label="Integer vuz180 `quot` absReal0 (Integer (Neg (Succ vuz19000))) otherwise",fontsize=16,color="black",shape="box"];988 -> 1003[label="",style="solid", color="black", weight=3]; 170.11/122.23 989 -> 1056[label="",style="dashed", color="red", weight=0]; 170.11/122.23 989[label="Integer vuz180 `quot` Integer (Neg Zero)",fontsize=16,color="magenta"];989 -> 1058[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1030[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpNat (Succ vuz19000) Zero == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not (primCmpNat (Succ vuz19000) Zero == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1030 -> 1048[label="",style="solid", color="black", weight=3]; 170.11/122.23 1031[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) (not (EQ == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1031 -> 1049[label="",style="solid", color="black", weight=3]; 170.11/122.23 1032[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) (not (LT == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) (not (LT == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1032 -> 1050[label="",style="solid", color="black", weight=3]; 170.11/122.23 1033[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) (not (EQ == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1033 -> 1051[label="",style="solid", color="black", weight=3]; 170.11/122.23 1001 -> 1056[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1001[label="Integer vuz180 `quot` Integer (Pos (Succ vuz19000))",fontsize=16,color="magenta"];1001 -> 1059[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1057[label="Pos Zero",fontsize=16,color="green",shape="box"];1056[label="Integer vuz180 `quot` Integer vuz77",fontsize=16,color="black",shape="triangle"];1056 -> 1061[label="",style="solid", color="black", weight=3]; 170.11/122.23 1003[label="Integer vuz180 `quot` absReal0 (Integer (Neg (Succ vuz19000))) True",fontsize=16,color="black",shape="box"];1003 -> 1021[label="",style="solid", color="black", weight=3]; 170.11/122.23 1058[label="Neg Zero",fontsize=16,color="green",shape="box"];1048[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not (GT == LT)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not (GT == LT)) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1048 -> 1062[label="",style="solid", color="black", weight=3]; 170.11/122.23 1049[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) (not False) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1049 -> 1063[label="",style="solid", color="black", weight=3]; 170.11/122.23 1050[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) (not True) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) (not True) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1050 -> 1064[label="",style="solid", color="black", weight=3]; 170.11/122.23 1051[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) (not False) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1051 -> 1065[label="",style="solid", color="black", weight=3]; 170.11/122.23 1059[label="Pos (Succ vuz19000)",fontsize=16,color="green",shape="box"];1061[label="Integer (primQuotInt vuz180 vuz77)",fontsize=16,color="green",shape="box"];1061 -> 1075[label="",style="dashed", color="green", weight=3]; 170.11/122.23 1021[label="Integer vuz180 `quot` (`negate` Integer (Neg (Succ vuz19000)))",fontsize=16,color="black",shape="box"];1021 -> 1037[label="",style="solid", color="black", weight=3]; 170.11/122.23 1062[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) (not False) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) (not False) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1062 -> 1076[label="",style="solid", color="black", weight=3]; 170.11/122.23 1063[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos Zero)) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1063 -> 1077[label="",style="solid", color="black", weight=3]; 170.11/122.23 1064[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg (Succ vuz19000))) False `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg (Succ vuz19000))) False `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1064 -> 1078[label="",style="solid", color="black", weight=3]; 170.11/122.23 1065[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Neg Zero)) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1065 -> 1079[label="",style="solid", color="black", weight=3]; 170.11/122.23 1075[label="primQuotInt vuz180 vuz77",fontsize=16,color="burlywood",shape="box"];1511[label="vuz180/Pos vuz1800",fontsize=10,color="white",style="solid",shape="box"];1075 -> 1511[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1511 -> 1085[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1512[label="vuz180/Neg vuz1800",fontsize=10,color="white",style="solid",shape="box"];1075 -> 1512[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1512 -> 1086[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1037 -> 1056[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1037[label="Integer vuz180 `quot` Integer (primNegInt (Neg (Succ vuz19000)))",fontsize=16,color="magenta"];1037 -> 1060[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1076[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal1 (Integer (Pos (Succ vuz19000))) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal1 (Integer (Pos (Succ vuz19000))) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1076 -> 1087[label="",style="solid", color="black", weight=3]; 170.11/122.23 1077 -> 1154[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1077[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos Zero) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (Pos Zero) `rem` Integer vuz71)",fontsize=16,color="magenta"];1077 -> 1155[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1077 -> 1156[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1078[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz19000))) otherwise `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal0 (Integer (Neg (Succ vuz19000))) otherwise `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1078 -> 1089[label="",style="solid", color="black", weight=3]; 170.11/122.23 1079 -> 1154[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1079[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Neg Zero) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (Neg Zero) `rem` Integer vuz71)",fontsize=16,color="magenta"];1079 -> 1157[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1079 -> 1158[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1085[label="primQuotInt (Pos vuz1800) vuz77",fontsize=16,color="burlywood",shape="box"];1513[label="vuz77/Pos vuz770",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1513[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1513 -> 1093[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1514[label="vuz77/Neg vuz770",fontsize=10,color="white",style="solid",shape="box"];1085 -> 1514[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1514 -> 1094[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1086[label="primQuotInt (Neg vuz1800) vuz77",fontsize=16,color="burlywood",shape="box"];1515[label="vuz77/Pos vuz770",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1515[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1515 -> 1095[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1516[label="vuz77/Neg vuz770",fontsize=10,color="white",style="solid",shape="box"];1086 -> 1516[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1516 -> 1096[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1060 -> 698[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1060[label="primNegInt (Neg (Succ vuz19000))",fontsize=16,color="magenta"];1060 -> 1074[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1087 -> 1154[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1087[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (Pos (Succ vuz19000)) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (Pos (Succ vuz19000)) `rem` Integer vuz71)",fontsize=16,color="magenta"];1087 -> 1159[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1087 -> 1160[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1155[label="Pos Zero",fontsize=16,color="green",shape="box"];1156[label="Pos Zero",fontsize=16,color="green",shape="box"];1154[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer vuz86 `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer vuz85 `rem` Integer vuz71)",fontsize=16,color="black",shape="triangle"];1154 -> 1163[label="",style="solid", color="black", weight=3]; 170.11/122.23 1089[label="Integer vuz180 `quot` gcd0Gcd'1 (absReal0 (Integer (Neg (Succ vuz19000))) True `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (absReal0 (Integer (Neg (Succ vuz19000))) True `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1089 -> 1105[label="",style="solid", color="black", weight=3]; 170.11/122.23 1157[label="Neg Zero",fontsize=16,color="green",shape="box"];1158[label="Neg Zero",fontsize=16,color="green",shape="box"];1093[label="primQuotInt (Pos vuz1800) (Pos vuz770)",fontsize=16,color="burlywood",shape="box"];1517[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1093 -> 1517[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1517 -> 1106[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1518[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1093 -> 1518[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1518 -> 1107[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1094[label="primQuotInt (Pos vuz1800) (Neg vuz770)",fontsize=16,color="burlywood",shape="box"];1519[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1094 -> 1519[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1519 -> 1108[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1520[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1094 -> 1520[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1520 -> 1109[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1095[label="primQuotInt (Neg vuz1800) (Pos vuz770)",fontsize=16,color="burlywood",shape="box"];1521[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1095 -> 1521[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1521 -> 1110[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1522[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1095 -> 1522[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1522 -> 1111[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1096[label="primQuotInt (Neg vuz1800) (Neg vuz770)",fontsize=16,color="burlywood",shape="box"];1523[label="vuz770/Succ vuz7700",fontsize=10,color="white",style="solid",shape="box"];1096 -> 1523[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1523 -> 1112[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1524[label="vuz770/Zero",fontsize=10,color="white",style="solid",shape="box"];1096 -> 1524[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1524 -> 1113[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1074[label="vuz19000",fontsize=16,color="green",shape="box"];1159[label="Pos (Succ vuz19000)",fontsize=16,color="green",shape="box"];1160[label="Pos (Succ vuz19000)",fontsize=16,color="green",shape="box"];1163 -> 1173[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1163[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (primRemInt vuz86 vuz71) == fromInt (Pos Zero)) (Integer vuz71) (Integer (primRemInt vuz86 vuz71))",fontsize=16,color="magenta"];1163 -> 1174[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1163 -> 1175[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1105[label="Integer vuz180 `quot` gcd0Gcd'1 ((`negate` Integer (Neg (Succ vuz19000))) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) ((`negate` Integer (Neg (Succ vuz19000))) `rem` Integer vuz71)",fontsize=16,color="black",shape="box"];1105 -> 1131[label="",style="solid", color="black", weight=3]; 170.11/122.23 1106[label="primQuotInt (Pos vuz1800) (Pos (Succ vuz7700))",fontsize=16,color="black",shape="box"];1106 -> 1132[label="",style="solid", color="black", weight=3]; 170.11/122.23 1107[label="primQuotInt (Pos vuz1800) (Pos Zero)",fontsize=16,color="black",shape="box"];1107 -> 1133[label="",style="solid", color="black", weight=3]; 170.11/122.23 1108[label="primQuotInt (Pos vuz1800) (Neg (Succ vuz7700))",fontsize=16,color="black",shape="box"];1108 -> 1134[label="",style="solid", color="black", weight=3]; 170.11/122.23 1109[label="primQuotInt (Pos vuz1800) (Neg Zero)",fontsize=16,color="black",shape="box"];1109 -> 1135[label="",style="solid", color="black", weight=3]; 170.11/122.23 1110[label="primQuotInt (Neg vuz1800) (Pos (Succ vuz7700))",fontsize=16,color="black",shape="box"];1110 -> 1136[label="",style="solid", color="black", weight=3]; 170.11/122.23 1111[label="primQuotInt (Neg vuz1800) (Pos Zero)",fontsize=16,color="black",shape="box"];1111 -> 1137[label="",style="solid", color="black", weight=3]; 170.11/122.23 1112[label="primQuotInt (Neg vuz1800) (Neg (Succ vuz7700))",fontsize=16,color="black",shape="box"];1112 -> 1138[label="",style="solid", color="black", weight=3]; 170.11/122.23 1113[label="primQuotInt (Neg vuz1800) (Neg Zero)",fontsize=16,color="black",shape="box"];1113 -> 1139[label="",style="solid", color="black", weight=3]; 170.11/122.23 1174 -> 138[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1174[label="Integer (primRemInt vuz86 vuz71) == fromInt (Pos Zero)",fontsize=16,color="magenta"];1174 -> 1176[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1175 -> 538[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1175[label="primRemInt vuz86 vuz71",fontsize=16,color="magenta"];1175 -> 1177[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1175 -> 1178[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1173[label="Integer vuz180 `quot` gcd0Gcd'1 vuz89 (Integer vuz71) (Integer vuz90)",fontsize=16,color="burlywood",shape="triangle"];1525[label="vuz89/False",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1525[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1525 -> 1179[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1526[label="vuz89/True",fontsize=10,color="white",style="solid",shape="box"];1173 -> 1526[label="",style="solid", color="burlywood", weight=9]; 170.11/122.23 1526 -> 1180[label="",style="solid", color="burlywood", weight=3]; 170.11/122.23 1131 -> 1154[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1131[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer (primNegInt (Neg (Succ vuz19000))) `rem` Integer vuz71 == fromInt (Pos Zero)) (Integer vuz71) (Integer (primNegInt (Neg (Succ vuz19000))) `rem` Integer vuz71)",fontsize=16,color="magenta"];1131 -> 1161[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1131 -> 1162[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1132[label="Pos (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1132 -> 1164[label="",style="dashed", color="green", weight=3]; 170.11/122.23 1133 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1133[label="error []",fontsize=16,color="magenta"];1134[label="Neg (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1134 -> 1165[label="",style="dashed", color="green", weight=3]; 170.11/122.23 1135 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1135[label="error []",fontsize=16,color="magenta"];1136[label="Neg (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1136 -> 1166[label="",style="dashed", color="green", weight=3]; 170.11/122.23 1137 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1137[label="error []",fontsize=16,color="magenta"];1138[label="Pos (primDivNatS vuz1800 (Succ vuz7700))",fontsize=16,color="green",shape="box"];1138 -> 1167[label="",style="dashed", color="green", weight=3]; 170.11/122.23 1139 -> 384[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1139[label="error []",fontsize=16,color="magenta"];1176 -> 538[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1176[label="primRemInt vuz86 vuz71",fontsize=16,color="magenta"];1176 -> 1228[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1176 -> 1229[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1177[label="vuz86",fontsize=16,color="green",shape="box"];1178[label="vuz71",fontsize=16,color="green",shape="box"];1179[label="Integer vuz180 `quot` gcd0Gcd'1 False (Integer vuz71) (Integer vuz90)",fontsize=16,color="black",shape="box"];1179 -> 1230[label="",style="solid", color="black", weight=3]; 170.11/122.23 1180[label="Integer vuz180 `quot` gcd0Gcd'1 True (Integer vuz71) (Integer vuz90)",fontsize=16,color="black",shape="box"];1180 -> 1231[label="",style="solid", color="black", weight=3]; 170.11/122.23 1161 -> 698[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1161[label="primNegInt (Neg (Succ vuz19000))",fontsize=16,color="magenta"];1161 -> 1184[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1162 -> 698[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1162[label="primNegInt (Neg (Succ vuz19000))",fontsize=16,color="magenta"];1162 -> 1185[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1164 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1164[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1164 -> 1186[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1164 -> 1187[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1165 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1165[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1165 -> 1188[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1165 -> 1189[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1166 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1166[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1166 -> 1190[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1166 -> 1191[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1167 -> 397[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1167[label="primDivNatS vuz1800 (Succ vuz7700)",fontsize=16,color="magenta"];1167 -> 1192[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1167 -> 1193[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1228[label="vuz86",fontsize=16,color="green",shape="box"];1229[label="vuz71",fontsize=16,color="green",shape="box"];1230[label="Integer vuz180 `quot` gcd0Gcd'0 (Integer vuz71) (Integer vuz90)",fontsize=16,color="black",shape="box"];1230 -> 1238[label="",style="solid", color="black", weight=3]; 170.11/122.23 1231 -> 1056[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1231[label="Integer vuz180 `quot` Integer vuz71",fontsize=16,color="magenta"];1231 -> 1239[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1184[label="vuz19000",fontsize=16,color="green",shape="box"];1185[label="vuz19000",fontsize=16,color="green",shape="box"];1186[label="vuz1800",fontsize=16,color="green",shape="box"];1187[label="vuz7700",fontsize=16,color="green",shape="box"];1188[label="vuz1800",fontsize=16,color="green",shape="box"];1189[label="vuz7700",fontsize=16,color="green",shape="box"];1190[label="vuz1800",fontsize=16,color="green",shape="box"];1191[label="vuz7700",fontsize=16,color="green",shape="box"];1192[label="vuz1800",fontsize=16,color="green",shape="box"];1193[label="vuz7700",fontsize=16,color="green",shape="box"];1238[label="Integer vuz180 `quot` gcd0Gcd' (Integer vuz90) (Integer vuz71 `rem` Integer vuz90)",fontsize=16,color="black",shape="box"];1238 -> 1249[label="",style="solid", color="black", weight=3]; 170.11/122.23 1239[label="vuz71",fontsize=16,color="green",shape="box"];1249[label="Integer vuz180 `quot` gcd0Gcd'2 (Integer vuz90) (Integer vuz71 `rem` Integer vuz90)",fontsize=16,color="black",shape="box"];1249 -> 1257[label="",style="solid", color="black", weight=3]; 170.11/122.23 1257 -> 1154[label="",style="dashed", color="red", weight=0]; 170.11/122.23 1257[label="Integer vuz180 `quot` gcd0Gcd'1 (Integer vuz71 `rem` Integer vuz90 == fromInt (Pos Zero)) (Integer vuz90) (Integer vuz71 `rem` Integer vuz90)",fontsize=16,color="magenta"];1257 -> 1262[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1257 -> 1263[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1257 -> 1264[label="",style="dashed", color="magenta", weight=3]; 170.11/122.23 1262[label="vuz71",fontsize=16,color="green",shape="box"];1263[label="vuz71",fontsize=16,color="green",shape="box"];1264[label="vuz90",fontsize=16,color="green",shape="box"];} 170.11/122.23 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1264) 170.11/122.23 Complex Obligation (AND) 170.11/122.23 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1265) 170.11/122.23 Obligation: 170.11/122.23 Q DP problem: 170.11/122.23 The TRS P consists of the following rules: 170.11/122.23 170.11/122.23 new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) 170.11/122.23 170.11/122.23 R is empty. 170.11/122.23 Q is empty. 170.11/122.23 We have to consider all (P,Q,R)-chains. 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1266) QDPSizeChangeProof (EQUIVALENT) 170.11/122.23 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. 170.11/122.23 170.11/122.23 Order:EMB rules! 170.11/122.23 170.11/122.23 AFS: 170.11/122.23 [] = [] 170.11/122.23 170.11/122.23 Succ(x1) = Succ(x1) 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 From the DPs we obtained the following set of size-change graphs: 170.11/122.23 *new_primMinusNat(Succ(vuz300), Succ(vuz400), []) -> new_primMinusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) 170.11/122.23 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 We oriented the following set of usable rules [AAECC05,FROCOS05]. 170.11/122.23 none 170.11/122.23 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1267) 170.11/122.23 YES 170.11/122.23 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1268) 170.11/122.23 Obligation: 170.11/122.23 Q DP problem: 170.11/122.23 P is empty. 170.11/122.23 R is empty. 170.11/122.23 Q is empty. 170.11/122.23 We have to consider all (P,Q,R)-chains. 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1269) PisEmptyProof (EQUIVALENT) 170.11/122.23 The TRS P is empty. Hence, there is no (P,Q,R) chain. 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1270) 170.11/122.23 YES 170.11/122.23 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1271) 170.11/122.23 Obligation: 170.11/122.23 Q DP problem: 170.11/122.23 The TRS P consists of the following rules: 170.11/122.23 170.11/122.23 new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) 170.11/122.23 170.11/122.23 R is empty. 170.11/122.23 Q is empty. 170.11/122.23 We have to consider all (P,Q,R)-chains. 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1272) QDPSizeChangeProof (EQUIVALENT) 170.11/122.23 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. 170.11/122.23 170.11/122.23 Order:EMB rules! 170.11/122.23 170.11/122.23 AFS: 170.11/122.23 [] = [] 170.11/122.23 170.11/122.23 Succ(x1) = Succ(x1) 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 From the DPs we obtained the following set of size-change graphs: 170.11/122.23 *new_primPlusNat(Succ(vuz300), Succ(vuz400), []) -> new_primPlusNat(vuz300, vuz400, []) (allowed arguments on rhs = {1, 2, 3}) 170.11/122.23 The graph contains the following edges 1 > 1, 2 > 2, 3 >= 3 170.11/122.23 170.11/122.23 170.11/122.23 170.11/122.23 We oriented the following set of usable rules [AAECC05,FROCOS05]. 170.11/122.23 none 170.11/122.23 170.11/122.23 ---------------------------------------- 170.11/122.23 170.11/122.23 (1273) 170.11/122.23 YES 170.11/122.26 EOF